Java线程堆栈内存分配和管理

时间:2014-03-06 16:53:01

标签: java memory-management jvm

我很想知道如何管理Java堆栈线程。由于每个线程有一个堆栈分配在操作系统特别请求的内存段上(参见Here)。

  1. 何时释放此内存?通过垃圾收集器还是本机线程?
  2. java进程如何向操作系统发出信号表明该内存段不再使用?
  3. 这个内存如何影响线程被终止但是他的相应对象仍然有来自其他实时对象的引用?

1 个答案:

答案 0 :(得分:3)

  

何时释放此内存?通过垃圾收集器还是本机线程?

无。它由OS发布......

  

java进程如何向操作系统发出不再使用此内存段的信号?

...当线程终止时。 JVM在此处不执行任何操作,但使用本机线程API,后者又使用OS原语。和...

  

这个内存如何影响线程被终止,但是他的相应对象仍然有来自其他实时对象的引用?

......另一方面,这是JVM的作用;特别是GC。

请注意,创建Thread(或RunnableCallable)实际上并不会在操作系统级别创建线程;你必须为此运行它(使用.start()Thread等)。