![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 75
美人鱼战士和企鹅男孩
这个作者很懒,什么都没留下…
展开
-
继承ServiceImpl并写一个自己的saveOrUpdateBatch(下)
通过mybatis plus源码,实现自己的批量保存更新方法,使其支持非主键、多条件更新原创 2024-03-05 10:06:49 · 595 阅读 · 1 评论 -
继承ServiceImpl并写一个自己的saveOrUpdateBatch(上)
通过学习Mybatis-Plus的代码,搞懂批量更新、批量保存或更新源码逻辑。甚至自己写一个自定义更新条件的批量更新。原创 2022-12-02 14:56:02 · 7614 阅读 · 1 评论 -
小李女朋友爬楼梯问题,java实现
最近高考,刚好无意间看到“程序员高考题”,所以随便找了一题做了做。1、题目程序员小李的女朋友不仅颜值高、大长腿、还爱运动,她在爬楼梯的时候喜欢跨一个台阶、也喜欢跨两个或者三个台阶,假如一个楼梯有N个台阶,请问她有多少种爬法?请写出程序,语言不限!2、解public class NewTest { private static int num = 0; public static void main(String[] args) { int n = 10;原创 2021-06-07 19:44:59 · 205 阅读 · 1 评论 -
判断线程池中某个线程是否执行完成
目录1.先写结果2.判断某个线程是否执行完成(不使用线程池)3.在线程池中不能使用isAlive判断线程状态的原因3-1.错误示例3-2.创建线程工厂3-3.创建线程方法(ThreadPoolExecutor)4.解决问题,实现判断线程池中的线程是否执行完成4-1.FutureTask4-2.实现代码(使用isDone)4-3.实现代码(使用get)1.先写结果使用FutureTask类即可实现判断线程池中的线程的状态,提供的方法是isDone(),get()。 private volatile原创 2021-05-07 16:11:46 · 2787 阅读 · 0 评论 -
base64加密算法详解,以及使用时可能出现的问题
1、base64加密算法1、加密算法简述base64:因为HTTP协议是文本协议,传输信息时只支持可打印字符,所以为了使HTTP协议能够支持传输图片、文件等等数据,只能先将数据转换成base64的字符串来保存。可打印字符:ASCII码中一共有128个字符(0-127),其中只有32-126这95个字符属于可打印字符,base64选取的64个字符是A-Z,a-z,0-9,+ 和 /。如下图所示,1就是B,63就是/,另外还有一个 = 号用于标识结尾(不一定都有,后面会解释)。原理:算法将这64个字符原创 2021-03-17 15:44:49 · 2295 阅读 · 1 评论 -
ShedLock配合使用SchedulingConfigurer实现数据库控制定时任务
目录简单介绍ShedLockSchedulingConfigurer配合使用简单介绍1.ShedLock是一个定时任务锁,并不是定时任务调度工具,更不是分布式任务调度程序。但是可以解决定时任务在多台服务器上重复执行的情况。2.由spring boot提供的一个定时任务接口,实现该接口的bean,会在所有bean初始化结束后,调用configureTasks来配置定时任务。3. 注意ShedLock不是任务调度工具,只是一个锁。需要任务调度工具要使用其他方法。配合SchedulingConfig原创 2021-01-11 20:35:44 · 971 阅读 · 0 评论 -
个人经常使用的idea快捷键
目录打开对应的菜单栏在project菜单栏中移动在Java文件中移动选中内容其他打开对应的菜单栏alt+1 打开project菜单alt+5 打开debug菜单alt+9 打开git菜单...在project菜单栏中移动↑ ↓ :上下移动←:回到上一级文件夹、关闭当前文件夹→:打开文件夹、进入文件夹、下一个文件回车:打开文件夹、打开文件alt+1:关闭/打开project菜单在找到对应的Java文件后可以直接按回车打开,然后alt+1关闭project后直接进入Java文件页面内原创 2020-11-02 15:36:15 · 120 阅读 · 0 评论 -
jdk1.8新特性Optional的方法
一、创建Optional对象从下图中可以看出,Optional的方法并不多,所以看起来还是很简单的。因为Optional类的两个构造函数都是私有的,所以不能通过new的方式来创建对象。但是在Optional类中提供了 of, ofNullable, empty 三个创建类的静态方法。of /** * Returns an {@code Optional} with the specified present non-null value. * * @param原创 2020-10-09 14:57:01 · 652 阅读 · 0 评论