Closed. This question needs details or clarity。它当前不接受答案。












想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。

6年前关闭。



Improve this question




我想知道退出该块后在该块中声明的变量会发生什么?

我的意思是 ...

例如我正在使用while循环
然后我在其中声明一个整数i
循环结束后
程序是否释放该整数使用的内存?还是在我们销毁应用程序之前内存不空闲?还是只有GC释放了那部分内存?

最佳答案

当您有局部变量时,它在堆栈上。

输入方法时将分配此堆栈,从方法返回时将释放此堆栈。当您启动线程时创建该堆栈,并在线程结束时释放该堆栈。退出程序之前,可能不会释放您以其开头的主线程。

在许多方面,C++和Java都是相同的,因为它们都被编译为机器代码,并且该机器的工作方式与单个CPU体系结构相同。

07-24 20:49