这听起来很愚蠢,但我仍然不清楚Java堆栈和内存堆。我从研究中得知如下:与Java内存管理(堆栈和堆)混淆
1)所有的方法调用都进入堆栈。
2)所有本地分配的存储器的推移存储器堆(未关于这点很清楚)
3)由新的运营商分配的所有存储器(无论是在一个方法或在一个类)的推移存储器堆。
我担心的是以下情况:
1)如果我的方法创建一个int变量并返回它,它在哪里去(我相信它会在栈上,但需要澄清)。如果我在一个方法中创建一个新的对象,即使在方法执行结束后它仍然存在于堆内存中(我理解这是因为Java分配的对象的哈希代码在我分配时保持不变这个对象给一些外部引用变量或者我返回这个对象)。
3)我的问题是如果我没有将第2点中提到的对象分配给任何引用会发生什么,或者我没有返回这个。它是否仍然在堆上创建?逻辑上它应该是,但请赐教。
非常感谢你much..I很满意答案:) – dharam