摘要: 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不... 阅读全文
posted @ 2011-05-04 22:47 redcreen 阅读(530614) 评论(14) 推荐(59) 编辑
摘要: JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类 现在比较常用的是分代收集(generational collection,也是SUN VM使用的,J2SE1.2之后引入),即将内存分为几个区域,将不同生命周期的对象放在不同区域里:young generation,tenured gener... 阅读全文
posted @ 2011-05-04 22:46 redcreen 阅读(49498) 评论(1) 推荐(4) 编辑
摘要: collector种类 GC在 HotSpot VM 5.0里有四种: incremental (sometimes called train) low pause collector已被废弃,不在介绍. 类别 serial collector parallel collector( throughput collector ) concurrent collector(concurrent lo... 阅读全文
posted @ 2011-05-04 22:15 redcreen 阅读(28253) 评论(2) 推荐(3) 编辑
摘要: java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是... 阅读全文
posted @ 2011-05-04 13:33 redcreen 阅读(70792) 评论(7) 推荐(20) 编辑