Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有必要garbage collector只在 中有效heap吗?那么方法区呢?我知道垃圾收集器会从内存的堆区域中删除垃圾。
garbage collector
heap
它不一定只在堆中工作。但是它在堆栈中运行(或者,正如你所说的,“方法区域”)是没有意义的。一旦方法返回,分配在堆栈上的内存就会被释放。
那么,考虑到这一点,您希望垃圾收集器在堆栈中做什么?虽然理论上您可能希望它以极其长时间运行的方法释放内存,但在绝大多数情况下,该方法将在垃圾收集器开始查看它之前很久就返回。电脑速度很快。另外,如果您以长期运行的方法保存数据,那么无论如何仍有可能对它进行引用。
当调用堆栈在方法退出时弹出方法框架时,方法区域会自动清理