我对Java没有太多的了解。
我浏览了几个链接,发现博客上写着"Java原语存储在堆栈上“,我觉得这取决于实例变量或局部变量。
经过几个环节之后,我的结论是,
类变量-原语-作为它所包含的对象的一部分存储在堆中。
类变量- Object (用户定义的)-作为Object的一部分存储在堆中。对于引用对象和实际对象都是如此。
方法变量-原语-作为堆栈框架的一部分存储在堆栈上。
方法变量-对象(用户定义的)-存储在堆上,但是对堆上该区域的引用作为堆栈框架的一部分存储在堆栈上。如果Object中包含另一个对象,引用也可以存储在堆中。
静态方法(实际上是所有方法)以及静态变量都存储在堆中。
如果我的理解有误,请纠正我。谢谢。
https://stackoverflow.com/questions/19402207
复制相似问题