新对象是从 eden 空间还是 eden + fromSurvivor 空间分配的? 幸存者空间中的可用空间也可以用于分配给新对象吗?
编辑: 考虑以下场景: 假设Eden空间已满并且来自幸存者空间的占用较少,那么在这种情况下,如果创建新对象(新对象足够小以适合来自幸存者空间),那么将发生次要收集或者将从中分配新对象的空间来自幸存者空间?
最佳答案
我相信eden空间总是用于小对象,非常大的对象直接在旧空间中分配。如果在幸存者空间中分配新对象,则有点破坏拥有单独空间的意义。
参见this PDF了解更多详细信息,包括:
Most objects are initially allocated in Eden. (As mentioned, a few large objects may be allocated directly in the old generation.)
关于java - 新对象是从 eden 空间分配的还是 eden + fromSurvivor 空间分配的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3797007/