2
我很想知道如何管理Java堆棧線程。由於每個線程都有一個堆棧分配在操作系統特別要求的一段內存中(請參閱Here)。Java線程堆棧內存分配和管理
- 當這個內存被釋放?通過垃圾收集器或本地線程?
- java如何向OS傳遞此內存段不再使用的信號?
- 這個內存如何影響線程被終止,但他的對應對象仍然有其他活動對象的引用?
我很想知道如何管理Java堆棧線程。由於每個線程都有一個堆棧分配在操作系統特別要求的一段內存中(請參閱Here)。Java線程堆棧內存分配和管理
當這個內存被釋放?通過垃圾收集器或本地線程?
無。它由操作系統發佈...
java如何向操作系統發送此內存段不再使用的信號?
...線程終止時。 JVM在這裏不做任何事情,而是使用原生線程API,後者依次使用OS原語。並且...
該內存如何影響線程被終止,但他的對應對象仍然有其他活動對象的引用?
......這另一方面是JVM的作用;的GC具體。
請注意,創建Thread
(或Runnable
或Callable
)實際上並不在OS級創建線程;你必須爲此運行它(使用.start()
代替Thread
等)。