内存中的对象是在静态块中创建的对象吗?

Kum*_*esh 5 java heap stack static-block object

如果我创建一个静态块并在那里创建一个Object,比如说其他一些类,那么该对象是在堆上还是在堆栈上创建的?

class Hello {
   static {
       Abc abcObject=new Abc();
   }
   // Other Code...
} 
Run Code Online (Sandbox Code Playgroud)

kos*_*osa 7

无论静态(或)非静态,对象始终在堆上.

引用将在堆栈上.


Eri*_*son 4

对象在堆中创建,但对象的引用在堆栈中。

您创建的变量abcObject位于堆栈中。new Abc()它包含存储对象的堆内的内存地址。