该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-11-25
问:我产生的对象不多呀,为什么还会产生OutOfMemory?
答:你继承层次忒多了,Heap中 产生的对象是先产生 父类,然后才产生子类,明白不? 你的这个回答我无法认同,如果我堆内存本来就设置的很小类? -Xmx10m,你的答案太武断了 |
|
返回顶楼 | |
发表时间:2010-11-25
java栈帧包括局部变量区、操作数栈,帧数据区,LZ你那张栈的图很不好
|
|
返回顶楼 | |
发表时间:2010-11-25
好文章,希望能有文章能更深入的讲一下现代GC的机制。
这里对Permanent Space,Young Generation Space,Tenure generation space讲得不够深。 |
|
返回顶楼 | |
发表时间:2010-11-25
引用 常量池(constant pool):按照顺序存放程序中的常量,并且进行索引编号的区域。比如int i =100,这个100就放在常量池中。 据我所知,基本类型是保存在堆栈中的。。 |
|
返回顶楼 | |
发表时间:2010-11-26
![]() |
|
返回顶楼 | |
发表时间:2010-11-26
确实是好文章啊,用Java也有几年了,但对JVM一直是云里雾里的,看了你的,终于是稍稍清醒了些了,讲得很好,谢谢分享~
|
|
返回顶楼 | |
发表时间:2010-11-26
有的部分还需要斟酌一下,不够严谨。
例如,所有的类都在新生代中分配?这个说法本身是错误的,类和对象是不同的,并且不是所有的new出来的对象都分配在新生代中,当一个对象非常大的时候,有可能直接分配在旧生代中。 还有常量池的说法不够清晰。 感谢楼主的分享,很佩服楼主的分享精神 |
|
返回顶楼 | |
发表时间:2010-11-26
JVM一直是底层的东西,没有认真研究过;
不知道在什么时候和领域会用到它呢 |
|
返回顶楼 | |
发表时间:2010-11-26
very good 太棒了啊
|
|
返回顶楼 | |
发表时间:2010-11-26
赞 养老区,一直不知道该怎么用中文称呼这个区
|
|
返回顶楼 | |