java

SpringBoot入门原理及优势分析

目录 1.springboot可以干嘛用? 2.Spring Boot 的优势: 3.Spring Boot 的使用 4.创建Handler类 5.创建启动类 1.springboot可以干嘛用? 通过 Spring Boot 可以快速构建个基于 Spring 框架的 Java Application,简...

源码解析带你了解LinkedHashMap

目录 元素存储关系 继承体系 属性 构造方法 无参 有参 按插入顺序访问 newNode linkNodeLast 链表节点的删除 LRU(Least recently used,最近最少使用) 栗子 元素被移到队尾 LinkedHashMap维护插入的...

Spring Boot之@Async异步线程池示例详解

目录 前言 一. Spring异步线程池的接口类 :TaskExecutor 二、简单使用说明 三、定义通用线程池 1、定义线程池 2、异步方法使用线程池 3、通过xml配置定义线程池 四、异常处理 五、问题...

Spring Boot线程池使用的一些实用心得

目录 前言 使用步骤 用postmain或者其他工具来多次测试请求一下 总结 前言 前两天做项目的时候,想提高一下插入表的性能优化,因为是两张表,先插旧的表,紧接着插新的表,一万多...

深层剖析java应用开发中MyBayis缓存

目录 什么是 MyBatis 缓存 MyBatis 缓存分类 1、级缓存:SqlSession 级别,默认开启,并且不能关闭。(默认开启) 2、二级缓存:Mapper 级别,默认关闭,可以开启。 二级缓存如何使用 1、M...

Java设计模式之java迭代器模式详解

目录 前言 介绍 角色 迭代器模式中的工厂模式 学院遍历的案例 分析 解决方案 基本介绍 原理类图 上面案例的类图 案例实现代码 案例总结 应用实例 Java集合中的迭代器模式 角色说明...

Java设计模式之java模板方法模式详解

目录 模板方法模式 介绍 角色 代码演示 模板方法模式总结 优点 缺点 适用场景 源码分析模板方法模式的典型应用 Servlet 中的模板方法模式 Hello World! Spring中的IOC容器启动—refresh()方法...

java设计模式责任链模式原理案例详解

目录 引言 责任链模式定义 类图 角色 核心 示例代码 1、对请求处理者的抽象 2、对请求处理者的抽象 3、责任链的创建 责任链实现请假案例 案例类图 可扩展性 纯与不纯的责任链模式...

java应用开发之JVM运行时内存分析

目录 1.JVM的运行时内存也叫JVM堆 2.JVM新创建的对象 3.新生代详解 4.老年代详解 5.永久代 1.JVM的运行时内存也叫JVM堆 从GC的角度可以将JVM分为新生代,老年代,永久代。其中新生代默认占...

SpringBoot中@Pattern注解对时间格式校验方式

目录 SpringBoot @Pattern注解对时间格式校验 1.需求背景 2.实现案例 @Pattern的用法 下面是常用的正则表达式 SpringBoot @Pattern注解对时间格式校验 1.需求背景 有一个需求,在前端传过来的时间...

Springboot集成RabbitMQ死信队列的实现

目录 关于死信队列 什么样的消息会进入死信队列? 场景分析 代码实现 场景模拟 生产者 消费者,设置死信队列监听 关于死信队列 在大多数的MQ中间件中,都有死信队列的概念。死信...

MyBatis中Mapper的注入问题详解

在 SpringBoot 体系中,MyBatis 对 Mapper 的注入常见的方式我知道的有 2 种: 1、@MapperScan MapperScan 类是 mybatis-spring 包里面的。 通过在启动类上使用 @MapperScan,然后通过 basePackages 属性指定...

Java的JDBC和桥接模式详解

目录 本文参考 桥接模式的定义与特点 定义: 优点: 缺点: 桥接模式的基本结构 桥接模式的应用场景 JDBC源码剖析 Class.forName()方法 com.mysql.cj.jdbc.Driver类 引申: DriverManager类 Connectio...

mybatis plus 开启sql日志打印的方法小结

mybatis-plus简介: Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更多介绍及特性...

Java实现中英文词典功能

本文实例为大家分享了Java实现中英文词典功能的具体代码,供大家参考,具体内容如下 功能如下: 1、可以向词典中增加中英文单词,并提供修改和删除功能 2、完成输入中文查询英文...

关于Java 并发的 CAS

目录 一、为什么要无锁 二、什么是CAS 三、Java 中的CAS 四、CAS存在的问题 1.自旋的劣势 2.ABA 问题 3.尝试应用 4.CAS 源码 一、为什么要无锁 我们一想到在多线程下保证安全的方式头一个要...

Java基础:流Stream详解

目录 写在前面 一、"流"概念 二、流的分类 1、按流的方向分为:输入流、输出流 2、按流处理数据的单位分为:字节流、字符流 3、按流的功能分为:节点流(又称低级流)、过滤流(又称...

Java中关于二叉树层序遍历深入了解

前言 大家好,我是bigsai,在数据结构与算法中,二叉树无论是考研、笔试都是非常高频的考点内容,在二叉树中,二叉树的遍历又是非常重要的知识点,今天给大家讲讲二叉树的层序遍...

HashMap在JDK7与JDK8中的实现过程解析

HashMap的实现原理 首先有一个每个元素都是链表(可能表述不准确)的数组,当添加一个元素(key-value)时,就首先计算元素key的hash值,以此确定插入数组中的位置,但是可能存在同一...

Java Integer对象的比较方式

目录 Java Integer对象的比较 自动装箱 自动拆箱 Integer初始化 Integer对象之间的比较 Integer类型变量比较问题 代码1 代码2 代码3 代码4 关于这种现象,查了下资料,总结如下 Java Integer对象的...

关于mybatis-plus逻辑删除无效的问题

添加如下注解value代表默认值delval代表删除时的值 /** * 是否删除 */ @TableLogic(value = "0", delval = "1") @TableField(value = "del_flag") private Boolean delFlag; 下图是配置全部代码(如您知道上一步配置该...

解决spring boot环境切换失效的问题

目录 spring boot环境切换失效 概述 解决 springboot多环境配置文件无效 springboot配置文件无效 spring boot环境切换失效 概述 最近在使用-Dspring.profiles.active=te 来切换spring-boot的环境时,发现日...

SpringBoot整合Swagger2的完整过程记录

目录 前言 一、Spring Boot Web 整合 Swagger2 过程 1.1、添加 Swagger2 相关依赖 1.2、配置 Swagger2 配置类 二、配置 Swagger2 接口常用注解 2.1、@Api 请求类说明 2.2、@ApiOperation 方法的说明 2.3、@Api...

Java中你真的会用Constructor构造器吗之看完本篇你

引言 相信大家对于java里的构造器应该都是有了解的,这次我们来了解一些构造器的不同使用方式,了解构造器的调用顺序,最后可以灵活的在各种情况下定义使用构造器,进一步优化...

使用spring注入枚举类型作为参数

目录 spring注入枚举类型作为参数 Spring参数注入 1、通过构造方法实现参数注入 2、通过set方法注入 3、P命名空间注入 spring注入枚举类型作为参数 //定义枚举类型public enum ReportType { MONT...

Java 中的垃圾回收机制详解

目录 介绍 重要条款: 使对象符合 GC 条件的方法 请求JVM运行垃圾收集器的方式 定稿 总结 介绍 在 C/C++ 中,程序员负责对象的创建和销毁。通常程序员会忽略无用对象的销毁。由于这种...

Java Spring框架简介与Spring IOC详解

目录 Spring简介和配置 1、Spring概述 1.1 spring 是什么 1.2 Spring发展历程 1.3 Spring的优势 (理解) \1. 方便解耦,简化开发 \2. AOP 编程的支持 \3. 声明式事务的支持 \4. 方便程序的测试 \5. 方便...

基于spring同名bean覆盖问题的解决

目录 spring同名bean覆盖问题 分为两种情况处理 案例如下 spring 子类覆盖父类中注入的bean 抽象基类 另外一个抽象基类 controller spring同名bean覆盖问题 默认情况下,spring在处理同一个Appl...

MyBatis实现两种查询树形数据的方法详解(嵌套结果

目录 方法一:使用嵌套结果集实现 1,准备工作 2,实现代码 方法二:使用递归查询实现 树形结构数据在开发中十分常见,比如:菜单数、组织树, 利用MyBatis提供嵌套查询功能可以很...

Java语法之 Java 的多态、抽象类和接口

目录 一、多态 1. 向上转型 2. 动态绑定 3. 方法重写 4. 向下转型 5. 关键字 super 6. 在构造方法中调用重写方法(坑) 7. 理解多态 8. 小结 二、抽象类 1. 概念 2. 注意事项 3. 抽象类的意义...

解决Maven多模块编译慢的问题

目录 Maven多模块编译慢 完整命令如下 Maven多模块编译中遇到的坑 一、概述 二、坑描述和解决方法 踩坑描述 解决方法 Maven多模块编译慢 最近在部署项目时发现,Maven编译打包相当耗时...

Maven 多profile及指定编译问题的解决

目录 Maven 多profile及指定编译 要点 实例 Maven 指定编译版本 javac maven Maven 多profile及指定编译 要点 项目A依赖项目B,项目A、B都有对应的多个profile,通过mvn –P参数指定profile,只对A生效...

java random.nextInt的坑及解决

目录 java random.nextInt的坑 很简单的两句代码,需要注意两点 java random.nextInt()不随机性 这个题在网上已经有很多人给出了答案 我的算法是 验证如下 java random.nextInt的坑 下面的代码 Rand...

mybatis类型转换器如何实现数据加解密

目录 mybatis类型转换器数据加解密 背景需求 mybatis 类型转换器 数据加解密类型转换 使用方法 mybatis密码解密 mybatis的配置 properties的配置 mybatis类型转换器数据加解密 背景需求 对表中的...

java循环结构、数组的使用小结

数组 数组是是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。 数组本身是引用数据类型,既可以存储基本数据类型,也...

学习SpringBoot容器功能及注解原理

目录 1.组件添加 1.1@Configuration 1.2@Import 1.3@Conditional 2.原生配置文件引入 2.1@ImportResource 3.配置绑定 3.1@ConfigurationProperties 3.2@EnableConfigurationProperties + @ConfigurationProperties 1.组件添加 1.1@Conf...

全面解析SpringBoot配置文件

目录 1.文件类型 1.1properties 1.2yaml 简介 基本语法 数据类型 举例 2.配置提示 1.文件类型 1.1properties 同以前的properties用法。 1.2yaml 简介 YAML 是 “YAML Ain't Markup Language”(YAML 不是一种标记...

Java并发编程深入理解之Synchronized的使用及底层原

目录 一、synchronized锁优化 1、自旋锁与自适应自旋 2、锁消除 逃逸分析: 3、锁粗化 二、对象头内存布局 三、synchronized锁的膨胀升级过程 1、偏向锁 2、轻量级锁 3、重量级锁 4、各种锁...

Java设计模式之简单工厂 工厂方法 抽象工厂深度

目录 工厂模式介绍 好处 常见的应用 简单工厂(Simple Factory) 适用场景 角色分配: 应用案例: 优缺点: 简单工厂实现: 工厂方法(Factory Method) 适用场景 角色分配: 应用案例: 优...

idea中加入git版本控制的方法及步骤详解

idea中加入git版本控制: 在idea中加入git版本控制,方便团队中多人协同开发,项目可以同时方便进行管理和迭代。下面就是idea中加入git 的方法和步骤啦 将本地项目上传到远程仓库的...

IDEA2021.2配置docker如何将springboot项目打成镜像一键

之前博客已经谈到配置docker远程链接服务,这里再介绍如何在IDEA中配置docker,将项目部署到服务器上 前文 Docker之开启远程访问的实现 idea2021激活教程 https://www.yuque.com/docs/share/b996d27e...

MyBatis-Plus通过version机制实现乐观锁的思路

MyBatis-Plus 是通过 version 机制实现乐观锁的。 大致思路: 取出记录,携带记录的当前 version ; 更新记录的时候,比较记录当前的 version 是否有改变; 如果 version 未改变,则更新记录,...

基于@AllArgsConstructor与@Value共用的问题解决

目录 @AllArgsConstructor与@Value共用的问题解决 看下面这段代码 如何解决这个问题呢? @AllArgsConstructor导致@value注入失败 解决方法 @AllArgsConstructor与@Value共用的问题解决 平时我们用lombok的方...

如何使用@AllArgsConstructor和final 代替 @Autowired

目录 @AllArgsConstructor和final 代替 @Autowired spring代替 @Autowired(lombok相关注解) 注解 遇到坑 @AllArgsConstructor和final 代替 @Autowired Springboot官方建议使用final来修饰成员变量,然后通过构造方法来...

springboot使用@value注入配置失败的解决

目录 springboot使用@value注入配置文件失败 问题解决方向一 问题解决方向二 @Value注入失败,注入值为null的问题 大概就是下面这样 结果不知道为什么,@Value注入一直为空?? 原因如下...

Java数据结构之基于比较的排序算法基本原理及具

目录 1. 七大基于比较的排序-总览 1.1常见基于比较的排序分类 1.2时间复杂度,空间复杂度以及稳定性。 2.直接插入排序 2.1 直接插入排序的基本思想 2.2 直接插入排序动画演示 2.3 代码示...

Java MyBatis 多表查询详解

目录 多表查询: 一对一: 一对多: 多对多: 总结 多表查询: 学生表、班级表、课程表、班级课程表 一对一: 一个学生只属于一个班级。 查询: id name age gender banjiName SELECT s.id,s....

两万字详解Java Sring String的常见操作以及StringBu

目录 前言 1. 定义字符串 2.字符串比较相等 equals 使用注意事项 3. 字符串常量池( 多图解析 ) 第一个列子解析: 第二个列子解析: 第三个列子解析: 第四个列子解析: 第五个列子解析...

Spring Security基于自定义的认证提供器实现图形验

目录 前言 一. 认证提供器简介 1. 认证提供器AuthenticationProver 2. WebAuthenticationDetails类介绍 二. 实现图形验证码 1. 添加依赖包 2. 创建 Producer对象 3. 创建生成验证码的接口 4. 自定义异常...

使用Spring自定义命名空间

目录 1、Authoring the schema 2、Coding a NamespaceHandler 3、BeanDefinitionParser 4、Registering the handler and the schema 5、最终效果演示 Spring在解析xml文件中的标签的时候会区分当前的标签是四种基本标签...