在 JVM 中,記憶體區分為 Global、Stack 和 Heap 兩種,各自存放不同的東西
大致來說,Global 存放靜態的變數、Stack 存放 method 以及非 class member 的 primitive type,Heap 則存放所有的物件以及相依於物件的 class member。
細節先略過,可以參考以下的連結。
參考資料:
1、Does the Java primitives go on the Stack or the Heap?
2、stack vs heap:執行時期儲存兩大要角
3、Java Stack(堆疊, 棧) and Heap(堆積, 堆)
4、Chapter 2. The Structure of the Java Virtual Machine
5、Java Thread: retained memory analysis
沒有留言:
張貼留言