1

我的程序中有大约 1500x500 像素的栅格。每个像素都用一个浮点数表示。我相信这意味着 1500x500x4(字节)= 300 万字节或 3mb。它们可以比这更大。Java 垃圾收集器对大对象的处理方式是否与小对象不同?他们会自动跳到更高的一代吗?

4

1 回答 1

5

较大的物体可以直接放置在永久空间中。单个对象的大小很重要,例如float[1500][1500]1500 个对象,每个对象 1500*4(加上开销)。

http://blog.dynatrace.com/2011/05/11/how-garbage-collection-differs-in-the-three-big-jvms/

这表明 JRockit 确实将大型对象放入永久空间,但没有提及 HotSpot。


这表明大对象必须大于年轻代空间才能直接进入永久空间。

https://blogs.oracle.com/jonthecollector/entry/size_matters

于 2012-07-09T15:23:04.880 回答