从虚拟机视角谈 Java 应用性能优化
2010-07-15 00:00:00 来源:WEB开发网核心提示: 图 2. 整数加法运算 Java 栈行为查看原图(大图)此外,对于 JVM,从虚拟机视角谈 Java 应用性能优化(5),还需了解支持的数据类型和它们占用的空间:图 3. Java 数据类型查看原图(大图)按代垃圾收集机制虽然各家 JVM 的实现(Sun Hotspot、IBM J9、Oracl
图 2. 整数加法运算 Java 栈行为
查看原图(大图)
此外,对于 JVM,还需了解支持的数据类型和它们占用的空间:
图 3. Java 数据类型
查看原图(大图)
按代垃圾收集机制
虽然各家 JVM 的实现(Sun Hotspot、IBM J9、Oracle JRockit 等)不同,但均采用了按代的垃圾收集机制。垃圾收集就是标识出虚拟机中不被用到的垃圾对象,删除以回收空间。按代垃圾收集算法主要分为三种:
复制算法,空间被分为等大的两块,从根开始访问每一个关联的活跃对象,将空间 A 的活跃对象全部复制到空间 B,然后一次性回收整个空间 A,优点:只访问活跃对象,将所有活动对象复制走之后就清空整个空间,不用去访问死对象,所以遍历空间的成本较小,缺点:需要巨大的复制成本和较多的内存;
标记清除算法,从根开始访问所有活跃对象,标记为活跃对象。然后再遍历一次整个内存区域,把所有没有标记活跃的对象进行回收处理,优点:不需要额外的空间,缺点:较长的 GC 暂停时间,较大的扫描时间开销,产生较多的空间碎片;
更多精彩
赞助商链接