我正在学习java,现在我陷入了对象和局部变量的内存分配.任何人都可以说明或澄清我的一些疑惑吗?
谢谢Mahaveer
Aus*_*oke 44
每个线程都有自己的堆栈.
new,都会在堆上创建一个对象.int)和对创建的任何对象的引用.实际的对象本身不是在堆栈上创建的,正如我在使用时提到的那样, new 它们将在堆上创建.我有问题,天气为每种方法创建一个新的STACK?
调用方法时使用相同的堆栈.一个方法将在堆栈上创建它自己的小部分,称为"堆栈帧",用于保存它的局部变量.
它就像一堆板,当一个方法被称为板时,板被添加到堆栈的顶部(堆栈框架),当该方法结束时,板从堆栈中移除.所有该方法的局部变量都将随之被销毁,但创建的实际对象new则不会.
JVM的垃圾收集器会破坏照顾对象的堆(一个与创建new),当它看到你不再需要他们.
Dav*_*nan 17
堆栈以一对一的映射与线程相关联.堆栈绝对不与方法和类相关联.
推理所有这些的方法是方法的局部变量对于该方法的每次调用都是私有的.
| 归档时间: |
|
| 查看次数: |
20309 次 |
| 最近记录: |