读Java性能权威指南(第2版)笔记16垃圾回收C
读Java性能权威指南(第2版)笔记16_垃圾回收C1.调整堆的大小1.1.随着堆的大小增加,停顿的持续时间也会增加1.2.停顿发生的频率确实会降低,但是停顿的持续时间会拖慢整体性能1.3.操作系统进行的交换对JVM是不公开的1.3.1.操作系统要将数据从磁盘交换到RAM,这是一个代价高昂的操作1.4.首要规则是设定堆的大小永远不要超过机器的物理内存1.4.1.如果有多个JVM在运行,那么这适用于所有堆的总和1.5.-XmsN标志1.5.1.初始值1.6.-XmxN标志1.6.1.最大值1.7.默认值
1.7.2.在物理内存小于192 MB的机器上,堆的最大值会是物理内存的一半(96 MB或更少)1.8.如果JVM发现堆在初始大小时,GC的次数太多,它就会不断地增加堆大小,直到JVM执行的GC数量"适当",或者直到堆大小达到最大值1.9.对于不需要堆很大的应用程序来说,根本不需要设置堆的大小,只需要设定GC算法的性能目标1.10.除非应用程序需要比默认值更大的堆,否则优化时可以调整GC算法的性能目标而不是微调堆的大小1.11.一个有效的经验是,调整堆的大小,让其在Full GC之后,仍然被占用30%1.11.1.用jconsole连接应用程序,强制执行Full GC,并观察当Full GC完成后有多少内存被占用1.11.2.确保它有额外的0.5 GB~1 GB内存来满足JVM的非堆需求1.12.当JVM运行在隔离容器中时,你需要设定堆的最大值1.13.确切地知道应用程序需要多大的堆,那么不妨将初始值和最大值都设置为该值1.13.1.因为GC不再需要弄清楚是否应该调整堆大小,稍微高效一点2.调整分代大小2.1.新生代相对较大2.1.1.Young GC的停顿时间会增加2.1.2.新生代的回收频率会降低2.1.3.晋升到老年代的对象也会更少2.1.4.老年代相对会更小2.1.4.1.被填满的频率会更高2.1.4.2.会执行更多的Full GC2.2.优化分代大小的命令行标志,调整的都是新生代的大小,老年代自动得到剩余的所有空间2.3.-XX:NewRatio=N2.3.1.设置新生代与老年代的比例2.3.2.新生代初始大小=堆的初始大小/(1 +NewRatio)2.3.3.默认值是22.3.3.1.新生代的初始大小是堆初始大小的33%2.3.4.如果应用程序会动态调整堆大小,并且需要更大的(或更小的)新生代,那就重点设置NewRatio的值2.4.-XX:NewSize=N2.4.1.设置新生代的初始值2.4.2.设置了该选项,那么它将优先于通过NewRatio计算出来的值2.4.3.没有默认值2.4.3.1.默认情况下这个值会通过NewRatio计算出来2.5.-XX:MaxNewSize=N2.5.1.设置新生代的最大值2.5.2.通过设定新生代的最小值和最大值来进行优化是十分困难的2.6.-XmnN2.6.1.将NewSize和MaxNewSize设置为同一个值的简单写法2.6.2.如果堆的大小是固定的(通过设置-Xms等于-Xmx),通常最好也用-Xmn将新生代大小设为固定的2.7.自适应大小2.7.1.一般应该保持开启2.7.1.1.因为GC算法会通过调整代的大小,来尽量满足它们停顿时间的目标2.7.1.2.控制着JVM改变堆内新生代和老年代比例的方式2.7.2.关闭-XX:-UseAdaptiveSizePolicy标志2.7.2.1.默认值为true2.7.3.如果堆的最小值和最大值设置为相同的值,并且新生代的初始值和最大值也设为相同的值,那么自适应大小实际上就被关闭了2.7.4.如果你想将其中某个阶段的GC优化到最佳状态,禁用自适应大小很有用2.7.5.对于精细优化过的堆,禁用自适应大小能小幅提升性能2.7.6.开启-XX:+PrintAdaptiveSizePolicy标志2.7.6.1.查看JVM是如何调整应用程序内空间大小2.7.6.2.执行GC时,GC日志里会包含回收过程中各个代是如何调整大小的详细信息
爱因斯坦的相对论总被人提及,为什么杨振宁的杨米尔斯理论却很少会吸引人的眼球呢?因为杨米尔斯场太晦涩了,大家都认为爱因斯坦的相对论难,实际上杨米尔斯场更难。一个是宏观的几何美学,一个是微观的晦涩难懂。爱因斯坦凭着物理直觉,构建起来的广义相对论主要框架,是一种纯
判断是不是陨石需要依据吗?当我们拿到一块石头,或是在野外捡到一块石头,觉得很奇怪,挺沉的,看着像陨石。该如何鉴定它呢。主要看以下几点形态特征多数铁陨石表面都具有似波纹状的条纹,多数石陨石的表面还有很多气印,
传说中的古昆仑是月球吗?为什么?昆仑山脉是万山之祖龙脉之宗,但此昆仑非彼昆仑!奇书山海经中描述的古昆仑并非是现如今位于帕米尔高原的昆仑山脉,准确的说古昆仑是一座包含了山岭的大山,而昆仑山脉则是由山岭山谷山峰组成的
以前电脑里的排雷小游戏,真有会玩的么?我还想说,难道有不会玩的??点第一下凭运气,出来数字以后就能算了。既然有好几个人都写出自己的扫雷记录了,我也晒一下吧。高级86秒!中级22秒!初级2秒!曾经那么执着于扫雷这个小游戏
有哪些淡化黑眼圈的眼霜可以推荐?谢谢题主的邀请。柚子除了会推荐几款可以有效淡化黑眼圈的眼霜,还是劝你,赶快不要熬夜,立地成佛熬着夜,用着那么贵的护肤品何必呢一定要按时睡觉,每天早晨都要元气满满的黑眼圈不仅很难根除
王者荣耀花88皮肤碎片,你愿意兑换千年之狐还是街头霸王?首先不考虑皮肤的问题,回归到英雄本身,我个人的话更喜欢韩信,所以我个人会选择兑换街头霸王。毕竟每一个皮肤碎片都是你用时间来累计的,兑换的皮肤肯定是自己喜欢玩的英雄啊。街头霸王的话还
炉石传说9大职业皮肤里面,有哪些比较有特点?个人认为,炉石传说职业皮肤有的还不如金色头像好看,非常不建议通过氪金方式获取,当然大部分新的职业皮肤也都是通过买礼包附带获取。当然也有一些职业皮还是非常有特点的,例如下面3个绝对非
皮肤毛孔粗大怎么改善?毛孔粗大如何改善毛孔粗大多是由于毛孔堵塞角质堆积皮肤松弛老化挤压粉刺不当等原因导致毛孔变明显。毛孔粗大根据成因可分为油光型角质型缺水型和老化型,不同的类型其改善方式亦有不同。1。油
卤猪肉的卤水配方有哪些?感谢邀请,根据您的描述,我很感动,天底下有您这样的孝子不多了,既然您是做给您妈吃的,那我就认真介绍我们家里常用的4款卤猪肉配方,希望能有您妈妈喜欢吃的口味,如果没有,请和我联系,我
优衣库的衣服都是基本款,为什么会被列为快时尚品牌?把优衣库列为快时尚品牌似乎是个约定俗成的概念,在我看来最主要的原因可能还是诸如优衣库Zara这些都是全球化发展的品牌,尤其在重点城市和新兴市场,主要商业街随处可见店铺和Logo。所
女生如何穿搭看起来时尚更有品味呢?现在人对穿搭要求越来越高,越来越追求品味,但是品味这种东西和时尚一样,没有定义,什么样的搭配才是有品位的搭配呢?有品位的穿搭应该是知性优雅的,简约大方的,充满高级感的,当然,最重要