摘要: 通常的处理,我们还是要在FULLGC时取到当时的dump文件,来分析内存里都有哪些数据占居着内存。这里有两种办法来获取dump文件: 1.通过在jvm里添加参数配置:+HeapDumpBeforeFullGC,+HeapDumpAfterFullGC 这种方法需要在应用启动前要提前配置好,如果不需要 阅读全文
posted @ 2022-04-08 16:02 甜菜波波 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 线上FullGC频繁的排查腾讯云服务器 2核4G 8M带宽 3年只要222😂😂,正常价格要4千多,这羊毛不薅白不薅😍😍。 https://curl.qcloud.com/50OxDE4W本应该写在文末的这个问题我再github上提交了一个issue,具体issue的讨论见这里问题前段时间发现 阅读全文
posted @ 2022-04-08 16:00 甜菜波波 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 1:部分对象会在From和To区域中复制来复制去,如此交换15次(由JVM参数MaxTenuringThreshold决定,这个参数默认是15),最终如果还是存活,就存入到老年代。 2:如果对象的大小大于Eden的二分之一会直接分配在old,如果old也分配不下,会做一次majorGC,如果小于ed 阅读全文
posted @ 2022-04-08 15:51 甜菜波波 阅读(347) 评论(0) 推荐(0) 编辑
摘要: JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些数据在JVM启动的时候创建,在JVM退出的时候销毁。而其他的数据依赖于每一个线程,在线程创建时创建,在线程退出时销毁。 1、程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。分支、循环、跳转、异常处 阅读全文
posted @ 2022-04-08 14:29 甜菜波波 阅读(78) 评论(0) 推荐(0) 编辑
摘要: //1.设置sentinel 各个节点集合Set<String> sentinelSet = new HashSet<>();sentinelSet.add("192.168.14.101:26379");sentinelSet.add("192.168.14.102:26380");sentine 阅读全文
posted @ 2022-04-08 10:50 甜菜波波 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章中对ThreadLocal进行了详尽的介绍,另外还有一个类: InheritableThreadLocal 他是ThreadLocal的子类,那么这个类又有什么作用呢? 原文地址: InheritableThreadLocal类原理简介使用 父子线程传递数据详解 多线程中篇(十八) 测试代 阅读全文
posted @ 2022-04-08 09:40 甜菜波波 阅读(142) 评论(0) 推荐(0) 编辑