摘要: 1.大对象直接进入老年代 根据XX:PretenureSizeThreshold指定 2.长期存活的对象直接进入老年代 对象一开始分配到Ende区域,然后因Ende区域内存不够触发monin GC,然后将存活的对象放到S0或S1。年龄+1,+到15放到老年代 3.对象动态年龄判断 新生代S0或S1区 阅读全文
posted @ 2024-08-07 17:33 辉辉、 阅读(25) 评论(0) 推荐(0)
摘要: 验证:验证字节码是否符合JVM的安全要求,确认不会危害JVM系统运行 准备:为类分配静态成员分配内存,并初始化,确保类的静态变量使用 解析:JVM将符号引用转化为直接引用,将类/接口/方法转化为内存地址 初始会:执行类的构造函数,初始化类 阅读全文
posted @ 2024-08-07 16:53 辉辉、 阅读(20) 评论(0) 推荐(0)
摘要: 1.直接内存不由JVM内存管理,是来源于java NIO向操作系统申请而来的。 当把磁盘文件复制到内存中 JVM通过NIO直接访问数据。(起到了优化系统性能,避免了复制到java堆空间) 阅读全文
posted @ 2024-08-07 15:29 辉辉、 阅读(17) 评论(0) 推荐(0)
摘要: 1.类持有静态成员变量,如ArrayList数组。(如果真的遇到该场景需要手动设置为null) 2.打开资源要关闭,try catch finally及时关闭资源 3.内部类,引用外部类 publicclassStaticReferenceLeak{publicstatic List<Integer 阅读全文
posted @ 2024-08-07 13:40 辉辉、 阅读(14) 评论(0) 推荐(0)
摘要: 作用:因并发标记过程中,程序还在跑。对象间的引用会发生变化,可能会导致漏标或错标情况。因此采用三色法,将扫描的各情况用颜色区别出来。 三种颜色 白色:一开始所有对象的颜色都是白色,即未扫描过的对象。 灰色:表示对象已经扫描到了,但是对象所在的引用对象,还未全部扫描完成。 黑色:表示当前对象自身以及引 阅读全文
posted @ 2024-08-07 13:34 辉辉、 阅读(42) 评论(0) 推荐(0)
摘要: 1.jstack 可以分析java进程中,线程死锁/线程问题 案例1死锁 `@ApiOperation("登录") @PostMapping("/login") @ResponseBody public CommonResult login( @RequestBody UmsAdminLoginPa 阅读全文
posted @ 2024-08-07 11:59 辉辉、 阅读(34) 评论(0) 推荐(0)