05 2021 档案
摘要:1: 上次的定位原因找到了后,再回过头来看我们的代码问题。实现如下的日志打印格式 其实通过log4j2 的PatternLayout 配置基本都能实现, 但有一个关键点,我们是WEB应用,希望一次请求通过一个比较唯一的会话号来跟踪。方便作ES根踪。 2: 代码大约如下,提供了多个静太的info,wa
阅读全文
摘要:1: 作StringBuilder与String的拼接比较 @Testpublic void testString () { String s=""; long begin = System.currentTimeMillis(); for(int i=0; i<500000; i++){ Stri
阅读全文
摘要:1: 线上发生几次Full GC, 一直关注中: 1):YGC几本没有作用(正常的一次YGC会让EU减少, S0U,S01 中的一个清零,另一个变为非零), S0U1, S1U 都还是零的状态。 2): 可以看出老年代堆已经几乎满了,即使发生一个Full GC内存也没有释放多少。 3):可以判断基本
阅读全文
摘要:1: ThreadLocal 本质是一个工具类,所set的对象并不存在ThreadLocal 对象中。 2: ThreadLocal 操作的本质是对Thread的成员变量,操作ThreadLocal.ThreadLocalMap threadLocals ThreadLocal.ThreadLoca
阅读全文
摘要:1: 线上出现连续几次服务不可用, 2: 刚开始通过查询内存JAVA对象大小的数量看是不是有内存泄露 jmap -histo 8 发现内存中,确实存在一些不应该存在的对象。 如始红圈的点,这个是POI 工具中引用的XSSFWorkbook因而本次发生Full GC原因,归结为使用POI工具不合适。
阅读全文