- 博客(23)
- 收藏
- 关注
原创 HashMap在调用getOrDefault, putIfAbsent, computeIfAbsent时, 若key对应的value值为null会如何
说明: 返回指定键映射到的值,如果此映射不包含该键的映射,则返回defaultValue。示例:结论:1. 当key对应的value为null时, 返回的是null2. 当key不存在时返回defaultValue3. 该方法相当于:2. putIfAbsent(K key, V value)说明: 如果指定的键尚未与值关联(或映射为null),则将其与给定的值关联并返回null,否则返回当前值。示例:结论:1. 当key对应的value为null, 或key不存在时, 设置key为va
2025-03-14 11:04:06
403
原创 java方法可变参数传入null值会被如何接收
java方法中的可变参数相当于一个数组, 当调用该方法并传入null时, 实际在方法中接收的是null还是空数组还是一个包含null元素的数组?
2025-03-04 09:52:20
171
原创 线程池关闭方法shutdown()与shutdownNow()
其中 awaitTermination(long timeout, TimeUnit unit) 方法为阻塞等待一段时间后, 返回线程池是否已关闭(返回值: true-已关闭, false-未关闭), 它本身不会发起关闭线程池操作.shutdown() 是将已提交的任务执行完后再关闭。shutdownNow() 是立即尝试中断所有任务。
2025-03-03 14:38:24
255
原创 定时任务线程池ScheduledExecutorService/ScheduledThreadPoolExecutor的核心线程数对提交任务数的影响
ScheduledThreadPoolExecutor与传统线程池不同处之一在于它只支持设置核心线程数corePoolSize(不支持设置maximumPoolSize, 实际该参数无效), 它内部维护的队列为DelayedWorkQueue.
2025-03-03 11:18:22
196
原创 java反射getDeclaredFields/getDeclaredField与getFields/getField的区别
如何获取本类(private, default, protected, public)及父类/超类(private, default, protected, public)的所有字段?(2) 在(1)的基础上, 该字段可以是同时被 static, final, volatile, transient 中的一种或几种修饰。(2) 在(1)的基础上, 该字段可以是同时被 static, final, volatile, transient 中的一种或几种修饰。(1) 能且仅能获取到。
2025-02-18 10:01:49
250
原创 java类成员变量直接赋值, 代码块赋值, 构造函数赋值的区别及执行顺序
【代码】java类成员变量直接赋值, 代码块赋值, 构造函数赋值的区别及执行顺序。
2025-02-17 10:56:36
189
原创 java按集合中对象的某几个属性去重
由于该方式需要修改原实体类, 并可能会影响到其他使用hashCode及equals的功能而引起bug, 故不推荐.
2025-02-14 16:44:53
246
原创 如何下载m3u8视频到本地
下载安装VLC media player, 地址: 使用chrome浏览器, 打开F12, 打开播放视频的网页, 在Network中筛选带有m3u8关键字的URL, 如下图所示:打开VLC播放器, 选择 媒体-> 打开网络串流, 如下图所示:将第2步中筛选出的带有m3u8的URL复制粘贴到第3步打开的窗口的文本框中, 并点击右下角转换, 如下图所示:在弹出的转换窗口中配置视频信息, 也可直接使用默认项mp4, 点击浏览按钮, 设置保存文件的路径及名称, 点击开始进行下载转换, 入下图所示:
2025-02-08 00:40:39
994
原创 如何查看windows下端口占用进程并终止进程
若在windows下启动应用, 出现端口被占用的情况, 可使用dos命令按以下步骤进行查询端口占用进程, 并按需决定是否强制终止.
2025-01-21 11:15:53
422
原创 mybatis中SqlSessionFactory及SqlSession线程安全问题
1. SqlSessionFactory默认是线程安全的, 建议全局唯一, 不要多次重复创建, 可使用单例模式.2. SqlSession默认不是线程安全的, 建议将作用域限定在方法内部, 即使用时创建, 用完关闭, 不能将其设置为类变量(静态变量)或实例变量.mybatis用户手册中关于 SqlSessionFactoryBuilder, SqlSessionFactory, SqlSession, 映射器实例 作用域(Scope)和生命周期的说明如下:
2025-01-21 10:40:51
330
原创 对于比较类Comparator方法int compare(T o1, T o2)的应用与理解
Comparator类是一个被@FunctionalInterface标注的函数式接口,故通常状况下只需实现其intcompare(To1,To2)方法,且通常已匿名内部类或lambda的形式出现,常见的应用场景如:创建有序集合:二.如何根据intcompare(To1,To2)方法的返回值进行排序?先看jdk中对于该方法参数及返回值的注释说明:如果直译的话可能不太容易理解甚至容易给人造成困惑,故可以将其以一种更容易接受的方式进行同等表述,即理解方式一:或
2025-01-20 14:50:09
472
原创 Apache ListUtils.partition或Guava Lists.partition注意事项
无论是使用Apache commons-collections4中的ListUtils.partition还是使用Guava的Lists.partition, 作用都是将大集合分割成若干小集合.两者底层均基于jdk中List的subList方法实现, 由于subList方法分割后的集合只是原集合固定索引段的视图, 而非新集合, 故一些不当的增删操作会产生难以预料的错误.假设现在要遍历以上拆分后的集合, 并删除每个子集合中包含"1"的元素, 之后进行相应的逻辑处理, 若采用以下写法, 将不能得到预期结果,
2024-12-04 16:15:43
449
原创 CountDownLatch正确使用方式及注意事项
如果所有调用countDown()的部分未能全部被正常执行, 会导致最终计数无法递减至零, 进而使await()一直阻塞, 无法继续执行后续代码.此种情况在使用线程池默认拒绝策略AbortPolicy时要尤为注意.
2024-11-28 10:34:18
710
原创 数据库排序中null值的位置
数据库升序(asc)降序(desc)速记MySQLnull在最前null在最后null最小PostgreSQLnull在最后null在最前null最大Oraclenull在最后null在最前null最大SQL Servernull在最前null在最后null最小DB2null在最后null在最前null最大
2024-11-25 16:52:42
339
原创 java stream的anyMatch, allMatch,noneMatch对于空集合的返回值
其中allMatch()返回true要尤为注意。
2024-11-20 10:52:55
298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人