JVM在哪里分配对象

Where does the JVM allocate objects

我想知道 Java 对象是否必须在主内存中分配,或者 JVM 是否也可以在处理器缓存中分配对象?

对象分配在堆中。然而,内存的读写当然会缓存在处理器中。不同的 JVM 会做不同的事情,但大多数都会有一个线程本地分配缓冲区,这意味着不同的线程会在不同的分区中分配对象;垃圾收集器随后将回收这些对象并(如果对象仍然存在)在必要时将它们移动到堆内存的不同区域。