摘要: 一、GC性能指标吞吐量:应用花在非GC上的时间百分比GC负荷:与吞吐量相反,指应用花在GC上的时间百分比暂停时间:应用花在GC stop-the-world的时间GC频率反应速度:从一个对象变成垃圾到这个对象被回收的时间一个交互式的应用要求暂停时间越少越好,然而,一个非交互性的应用,当然是希望GC负 阅读全文
posted @ 2018-01-15 13:52 fansik 阅读(1557) 评论(0) 推荐(0) 编辑
摘要: JVM内存结构和垃圾回收一、JVM垃圾收集算法1、引用计数算法 每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。 此方法简单,无法解决对象互相循环引用的问题,还有一个问题是如何解决精准计数。2、根搜索算法 从GC Root开始向下搜索,搜索所走过的路径称为 阅读全文
posted @ 2018-01-15 13:46 fansik 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 1、-Xms初始堆大小默认物理内存的1/64(<1GB)(官方建议)2、-Xmx最大堆大小默认物理内存的1/4(<1GB)(官方建议),实际中建议不大于4GB3、一般建议设置 -Xms=-Xmx最大堆大小好处是避免每次在gc后,调整堆的大小,减少系统内存分配开销4、整个堆大小=年轻代大小+年老代大小 阅读全文
posted @ 2018-01-15 13:37 fansik 阅读(899) 评论(0) 推荐(0) 编辑
摘要: JVM是按照运行时数据的存储结构来划分内存结构的,JVM在运行java程序时,将它们划分成几种不同格式的数据,分别存储在不同的区域,这些数据统一称为运行时数据。运行时数据包括java程序本身的数据信息和JVM运行java需要的额外数据信息。 一、JVM运行时数据区程序计数器 线程私有java虚拟机栈 阅读全文
posted @ 2018-01-15 13:34 fansik 阅读(231) 评论(0) 推荐(0) 编辑