堆和靜態區的用法,解釋記憶體中的棧
記憶體中的棧,堆和靜態區的用法:
1、堆區:專門用來儲存物件的例項(new 建立的物件和陣列),實際上也只是儲存物件例項的屬性值,屬性的型別和物件本身的型別標記等,並不儲存物件的方法。
2、棧區:物件例項在Heap 中分配好以後,需要在Stack中儲存一個4位元組的Heap記憶體地址,用來定位該物件例項在Heap 中的位置,便於找到該物件例項。
3、靜態區/方法區:方法區又叫靜態區,跟堆一樣,被所有的執行緒共享。方法區包含所有的class和static變數。方法區中包含的都是在整個程式中永遠唯一的元素,如class,static變數。全域性變數和靜態變數的儲存是放在一塊的,初始化的全域性變數和靜態變數在一塊區域, 未初始化的全域性變數和未初始化的靜態變數在相鄰的另一塊區域。