
Java之GC
文章平均质量分 54
主要描述一些Java GC方面的原理和技术实现方案,帮助自己和他人总结Java GC方面可以做的一些优化
EthanPark
中科大硕士. 擅长领域高并发企业级应用性能优化。喜爱钻研源码。业余参与国外Spring以及Servlet,JDBC等Spec的翻译。
展开
-
Java内存管理(一)
Java相比传统语言(C,C++)的一个优势在于其能够自动管理内存,从而将开发者管理内存任务剥离开来。 本文大体描述了J2SE 5.0 release中JVM对于内存是如何管理的。并且为选择和配置对应的收集器,配置收集器的参数提供了一些建议和参考。手动VS自动内存管理内存管理是能够识别哪些释放的对象不再使用,释放掉这些对象所占用空间的一个原创 2017-04-20 20:50:44 · 3440 阅读 · 0 评论 -
Java内存管理(二)
前文描述了一些关于串行收集器的知识,本文继续针对垃圾收集器进行描述。并行收集器(parallel collector)在硬件发展到今天,很多的机器上面的物理内存会更高,并且拥有更多的CPU资源。并行收集器,也被称作吞吐收集器,就是用来更好的利用多个CPU性能,增加垃圾回收的吞吐量的一种垃圾收集器。并行收集器的年轻代回收年轻代使用的算法在串行收集器和并行收集器上是一致的。只是使用了多个CPU,通过降低原创 2017-04-29 15:23:13 · 1702 阅读 · 0 评论 -
Java内存管理(三)——卡片表
在垃圾回收的过程中,会碰到一个问题,就是老年代中的对象可能引用年轻代中的对象。在这种情况下,每次遍历老年代的对象来查找所有存活对象的时候就会消耗相当的时间。而且,在应用中,通常来说,这种引用是非常少的(某些研究表明,这种情况的引用占总引用量的1%都不到)。但是这些引用需要遍历整个老年代对象是一个相当大的Overhead。Card-tableJVM中会维护一个卡片表的数据结构,主要用于查看老年代中指向原创 2017-05-24 15:34:33 · 3301 阅读 · 0 评论