JVM相关
狂想者
这个作者很懒,什么都没留下…
展开
-
垃圾回收的算法与方式
垃圾回收的基本算法:1、引用计数(reference counting)此对象有一个引用,则增加一个计数,删除一个引用则减少一个计数,垃圾回收只回收计数为0的对象;2、标记-清除(mark-sweep)从引用的根节点来标记所有的对象,遍历整个节点,把未标记的清除;3、复制(copying )遍历整个区域,把正在使用的对象复制到其它区域。4、标记-整理(mark-compact)从根节点原创 2012-08-14 19:51:44 · 630 阅读 · 0 评论 -
JVM的配置
一、 堆设置: 初始堆的大小-Xms: -Xmx:最大堆的大小 -XX:NewSize:年轻代的大小 -XX:NewRatio:年轻代与年老代的比值:例如:值为3,即为年轻代与年老代比是1:3,年轻代占整个年轻代与年老代和的1/4 -XX:SurvivorRatio:年轻代中Eden占与survivor占的比值,如比值为3则表示eden:survivor=3:2,由于survivo原创 2012-08-15 19:22:17 · 434 阅读 · 0 评论 -
JVM调优
一、 年轻代大小的选择: 响应时间优先:大小尽可能的设大,直到接近系统的最低响应时间限制(根据实际情况选择),此时年轻代收集发生的频率减少,同时减少了到达年老代的对象。 吞吐量优先:大小尽可能设大,可能到达G的程度。因为对响应时间没有要求,垃圾收集可能并行进行,一般适用于8CPU以上。 二、年老代大小的选择: 响应时间优先的选择:年老代使用并发收集器,所以其大小设置需小心,一般会考虑原创 2012-08-15 19:23:17 · 413 阅读 · 0 评论 -
java性能优化
在java性能优化方面主要考虑两个主要的方面:一个是应用程序的构造方面是不是最优化,一个是在不改变代码的情况下对部署平台和环境上下功夫,包括对JVM的微调。下面就从代码编写和JVM两个方面进行描述: 一、 减少创建对象和GC,主要有下面几点需要注意: 1) 如有可能尽量使用基本变量,而不是使用封装对象,比如:Integer 2) 缓存那些濒繁使用的对象,原创 2012-09-16 13:35:05 · 511 阅读 · 0 评论