07 2012 档案

JVM内存分配策略
摘要:Java堆,分配对象实例所在空间,是GC的主要对象。分为新生代(Young Generation/New),老年代(Tenured Generation/Old)新生代又划分成 Eden Space, From Survivor, To Survivor对象的内存分配,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接地在栈上分配),对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配。少数情况下也可能会直接分配在老年代中,分配的规则并不是百分之百固定的,其细节取决于当前使用的是哪一种垃圾收集器组合,还有虚拟机中与内存相关的参数的设置。新生代 阅读全文

posted @ 2012-07-03 19:34 liangzh123 阅读(1351) 评论(0) 推荐(0)

JVM垃圾收集器
摘要:垃圾收集器就是收集算法的具体实现,不同的虚拟机会提供不同的垃圾收集器。并且提供参数供用户根据自己的应用特点和要求组合各个年代所使用的收集器。本文讨论的收集器基于Sun Hotspot虚拟机1.6版。 下图中展示了jdk1.6中提供的6种作用于不同年代的收集器,两个收集器之间存在连线的话就说明它们可以搭配使用。没有最好的收集器,也没有万能的收集器,只有最合适的收集器。从Serial收集器到Parallel收集器,再到CMS收集器, G1收集器,用户线程的停顿时间在不断缩短,但是仍然没有办法完全消除。1. Serial收集器单线程收集器,使用复制收集算法,收集时会暂停所有工作线程(我们将这件事情称 阅读全文

posted @ 2012-07-02 21:04 liangzh123 阅读(985) 评论(0) 推荐(1)

导航