该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-11-05
先收了,有空再看
|
|
返回顶楼 | |
发表时间:2010-11-06
最后修改:2010-11-06
嗯,投了精华。楼主加油~~
不满的部分: IcyFenix 写道 关于方法区
方法区即后文提到的永久代,很多人认为永久代是没有GC的,《Java虚拟机规范》中确实说过可以不要求虚拟机在这区实现GC,而且这区GC的“性价比”一般比较低:在堆中,尤其是在新生代,常规应用进行一次GC可以一般可以回收70%~95%的空间,而永久代的GC效率远小于此。虽然VM Spec不要求,但当前生产中的商业JVM都有实现永久代的GC 规范里叫做方法区的抽象区域,与“永久代”并不等价。只是在现在的Oracle (Sun) HotSpot使用“永久代”来实现方法区而已。 服务器端主流的高性能JVM现在就三种,一个是HotSpot(其中Sun的原始版本用得最多,由其衍生出来的Azul版与HP版也颇有应用;Apple的Mac OS上的JVM也是从Sun的版本衍生出来的,不过拿Mac来做服务器的大概不多吧);一个是Oracle (BEA)的JRockit;还有一个是IBM的JVM,现在主要在用的是J9。这之中,只有HotSpot是有PermGen的,而JRockit与J9都没有;连Azul版HotSpot也经过改进早已去除了PermGen。概念上说这些JVM都有符合规范的“方法区”,但并不一定要用PermGen来实现就是了。 甚至连Oracle (Sun)的HotSpot也实质性开始去除PermGen的工作了。请参考最近的hotspot-dev邮件列表里的一封邮件:Request for review (XL) 6990754: Use native memory and reference counting to implement SymbolTable 等JDK 7正式发布的时候,里面的HotSpot多半就已经没有PermGen了。 |
|
返回顶楼 | |
发表时间:2010-11-06
RednaxelaFX 写道 嗯,投了精华。楼主加油~~
不满的部分: IcyFenix 写道 关于方法区
方法区即后文提到的永久代,很多人认为永久代是没有GC的,《Java虚拟机规范》中确实说过可以不要求虚拟机在这区实现GC,而且这区GC的“性价比”一般比较低:在堆中,尤其是在新生代,常规应用进行一次GC可以一般可以回收70%~95%的空间,而永久代的GC效率远小于此。虽然VM Spec不要求,但当前生产中的商业JVM都有实现永久代的GC 规范里叫做方法区的抽象区域,与“永久代”并不等价。只是在现在的Oracle (Sun) HotSpot使用“永久代”来实现方法区而已。 服务器端主流的高性能JVM现在就三种,一个是HotSpot(其中Sun的原始版本用得最多,由其衍生出来的Azul版与HP版也颇有应用;Apple的Mac OS上的JVM也是从Sun的版本衍生出来的,不过拿Mac来做服务器的大概不多吧);一个是Oracle (BEA)的JRockit;还有一个是IBM的JVM,现在主要在用的是J9。这之中,只有HotSpot是有PermGen的,而JRockit与J9都没有;连Azul版HotSpot也经过改进早已去除了PermGen。概念上说这些JVM都有符合规范的“方法区”,但并不一定要用PermGen来实现就是了。 甚至连Oracle (Sun)的HotSpot也实质性开始去除PermGen的工作了。请参考最近的hotspot-dev邮件列表里的一封邮件:Request for review (XL) 6990754: Use native memory and reference counting to implement SymbolTable 等JDK 7正式发布的时候,里面的HotSpot多半就已经没有PermGen了。 谢谢,受教了。 之前看过很多篇兄台关于VM以及编译原理的文章,获益良多。 |
|
返回顶楼 | |
发表时间:2010-11-07
引用 规则一:-XX:SurvivorRatio=8决定了新生代中eden与survivor的空间比例是1:8 这里有个错误,应该是8:1,特此更正。 |
|
返回顶楼 | |
发表时间:2010-11-07
最后修改:2010-11-07
antipro 写道 看不太懂哦
可以先看看下面这篇文章,再回头看这篇。 http://pengjiaheng.iteye.com/blog/528034 |
|
返回顶楼 | |
发表时间:2010-11-07
最后修改:2010-11-07
一个字:深
|
|
返回顶楼 | |
发表时间:2010-11-13
最后修改:2010-11-13
引用 规则四:如果在survivor空间中相同年龄所有对象大小的累计值大于survivor空间的一半,大于或等于个年龄的对象就可以直接进入老年代,无需达到MaxTenuringThreshold中要求的年龄。
该年龄? 不是应该还有第三章的嘛? 谢谢IcyFenix的分享 |
|
返回顶楼 | |
发表时间:2010-11-15
写得很是通俗易懂,也很容易记忆,谢谢!
|
|
返回顶楼 | |
发表时间:2010-12-14
不错,进一步了解了垃圾回收的知识,期待后续章节
|
|
返回顶楼 | |
发表时间:2010-12-14
最后修改:2010-12-14
受益良多,谢谢,呵呵
分享一个harmony的GC PPT,不过没看懂,呵呵 |
|
返回顶楼 | |