读书人

jvm对大对象分配内存储器的特殊处理

发布时间: 2012-12-21 12:03:49 作者: rapoo

jvm对大对象分配内存的特殊处理

? ? 前段日子在和leader交流技术的时候,偶然听到jvm在分配内存空间给大对象时,如果young区空间不足会直接在old区切一块过去。对于这个结论很好奇,也比较怀疑,所以就上网搜了下,发现还真有这么回事。以下给出具体代码来说明:

首先定义好jvm内存各个区域的大小。我设定的是eden区8M,from和to各1M,old区10M,总共20M的空间,参数如下:

? ? 到这里结束了么?当然没有:)这个是一个大的完整的对象,当大对象本身是由一连串的小对象组成的时候,会不会不再OOM呢?于是改了代码再次尝试:

       4 楼    magicyang919    2012-08-31              牛xx人啊    5 楼    w156445045    2012-08-31              看不懂写的啥~    6 楼    songbin0201    2012-08-31              嗯,学习了,一次不错的尝试和总结过程    7 楼    bhdweb    2012-08-31              博主请问是怎么看到这些的

S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 0.00 18.04 90.00 23.08 0 0.000 20 0.027 0.027

我也想去试试。。可不知道怎么看 8 楼 lection.yu 2012-08-31 高人。jvm了解到深入许多。不过我是从来遇到过一次创建这么大对象的场景 9 楼 liuzhaodong89 2012-08-31 bhdweb 写道博主请问是怎么看到这些的

S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 0.00 18.04 90.00 23.08 0 0.000 20 0.027 0.027

我也想去试试。。可不知道怎么看
用jstat命令,这个是jvm自带的命令,可以到网上google一下用法的 10 楼 337240552 2012-09-10 想不通怎么这么多人踩呢。。。。期待踩的人写出更好的

读书人网 >编程

热点推荐