线程池创建多线程

背景使用线程池创建多线程。实现线程池创建方式创建线程池有两种方式:使用 Executors 创建;使用 ThreadPoolExecutor 创建。Executors 是对 ThreadPoolExecutor 进行了一层封装,因此使用起来会比较方便。但阿里的 Java开发手册 建议我们使用 Thr
多线程 2023年02月13日 574次浏览

Mybatis:动态建表

背景在一些数据表名称根据业务需求变化的业务场景中,需要使用 Mybatis 实现动态建表。实现pom.xml在 pom.xml 中引入依赖:<dependency> <groupId>org.springframework.boot</groupId>
Mybatis 2023年02月10日 737次浏览

Invalid bound statement (not found)报错解决

问题在项目中需要修改 Mybatis 对应的部分内容,但修改后启动项目调用接口时报错:Invalid bound statement (not found):xxx解决如果是代码层面的问题,例如:xml 文件配置或者 mapper 文件路径配置等问题,网上有很多解决方案,这里不再赘述了,只记录下博主
BUG 2023年02月10日 661次浏览

Hutool工具类

背景如 Hutool 作者在官网中所写:Hutool 是一个小而全的Java工具类库,通过静态方法封装,降低相关 API 的学习成本,提高工作效率,使 Java 拥有函数式语言般的优雅,让 Java 语言也可以“甜甜的”。Hutool = Hu + tool,是原公司项目底层代码剥离后的开源库,“H
Java 2023年01月29日 957次浏览

Collections工具类

背景Collections 工具类 JDK 提供的一个工具类,位于 java.util 包下,提供了一系列的静态方法,方便我们对集合进行各种操作,算是集合框架的一个大管家。实现排序操作reverse(List list):反转顺序shuffle(List list):洗牌,将顺序打乱sort(Lis
Java 2023年01月29日 753次浏览

Mybatis:驼峰映射

背景通常我们在设计数据表时,会有一些类似于 user_id 、user_name 等字段名称。在使用 Mybatis 对这些字段进行映射时则需要开启 驼峰映射 。实现如果数据表中存在类似字段,在使用 Mybatis 时需要开启 Mybatis 的驼峰映射规则,否则这些字段无法从数据表中获取,将显示为
Mybatis 2023年01月29日 811次浏览

Mybatis:批量插入数据

背景使用 Mybatis 向数据库中批量插入数据。实现实体类例如需要在数据库中批量插入如下实体类:package com.langjialing.springbootpagehelperdemo.entity;import java.io.Serializable;import io.swagger
Mybatis 2023年01月28日 601次浏览

线程同步解决线程安全问题

背景多个线程操作同一资源时,会产生线程安全问题。实现synchronized与lock锁均可解决线程安全问题。问题复现代码package com.langjialing;public class ThreadSynchronized { public static void main(Stri
多线程 2022年05月10日 689次浏览

多线程的守护线程

背景多线程的守护线程。实现Thread的setDaemon方法可设置守护线程。注:默认线程均为用户线程,守护线程需要把setDaemon设置为true;虚拟机必须确保用户线程完成执行,而不用等待守护线程完成执行。守护线程应用场景:后台记录操作、监控内存、垃圾回收等待。代码package com.la
Java 多线程 2022年05月10日 661次浏览

多线程的线程优先级

背景多线程的线程优先级。实现Thread的setPriority方法可设置线程的优先级。代码注:setPriority()方法要先于start()方法执行,需要先设置线程的优先级才会生效;优先级高仅表示线程获得CPU调度的权重大,并不代表着一定会先于优先级低的线程执行。package com.lan
Java 多线程 2022年05月10日 713次浏览