java
文章平均质量分 65
夜之眷属
越努力 越幸运
展开
-
Java本地缓存技术选型
Java本地缓存原创 2023-04-17 23:14:29 · 456 阅读 · 0 评论 -
一次FullGC问题的定位
问题背景一次在查看服务器的gc状态的时候发现,fgc的次数过高(200多次)且远大于ygc(3次),在线上环境和测试环境都有同样的现象,长时间的观察发现ygc的次数基本不变,fgc隔段时间后就会增加一次(ygc的平均时间:27ms, fgc的平均时间:58.28ms, 因为内存几乎没什么数据,fgc的时间不是很特别长)问题分析查看服务器启动期间在线人数和内存使用情况,可以看到在线人数很少,且内存的占用很低,排除内存泄露导致的JVM内存占用过高而触发fgc的原因通过jstat -gccause原创 2020-11-21 14:40:58 · 915 阅读 · 0 评论 -
DCL的理解
DCL实现代码三个问题为什么外层要判空外层加判空的目的是为了避免每次获取实例的时候都需要获取锁和释放锁,这样会带来很大的性能消耗,外层判空可以在已经初始化完成后,直接返回实例对象。为什么要内层判空内层判空是为了保证对象的单例,因为在多线程情况下,如果没有内层判空的话,那么多个线程可能在竞争锁之前都已经通过了外层判空逻辑,那么在这种情况下,会出现多个实例对象。所以加上内层判空,那么另一个线程进来后,再次判空的时候对象已经被之前释放锁的线程初始化完成,那么自然不会进入new对象的逻辑中,从原创 2020-05-19 23:43:35 · 1594 阅读 · 0 评论 -
使用DateTimeFormatter遇到的一个坑及解决方式
背景描述原创 2020-05-16 22:50:23 · 5866 阅读 · 0 评论