java中的,堆,棧,還有方法區都是用來放什麼的

時間 2021-06-11 14:29:47

1樓:匿名使用者

棧裡存放的是值型別(int、float等)的值和引用型別(string、你自己建立的類物件等)在堆中的地址;堆中存放引用類u型的值,如果堆中某個值的地址在棧中沒有被指向,他就會被gc**。

方法區儲存所有的類和靜態變數。

2樓:

堆區:1.儲存的全部是物件,每個物件都包含一個與之對應的class的資訊。(class的目的是得到操作指令)

2.jvm只有一個堆區(heap)被所有執行緒共享,堆中不存放基本型別和物件引用,只存放物件本身

棧區:1.每個執行緒包含一個棧區,棧中只儲存基礎資料型別的物件和自定義物件的引用(不是物件),物件都存放在堆區中

2.每個棧中的資料(原始型別和物件引用)都是私有的,其他棧不能訪問。

3.棧分為3個部分:基本型別變數區、執行環境上下文、操作指令區(存放操作指令)。

方法區:

1.又叫靜態區,跟堆一樣,被所有的執行緒共享。方法區包含所有的class和static變數。

2.方法區中包含的都是在整個程式中永遠唯一的元素,如class,static變數。

java中的堆疊是什麼

來自巢湖敬老慈幼的風車草 棧 是先進後出,有一定順序的 堆 是程式開闢的記憶體空間,用來儲存物件,是無序的。棧的主要作用是儲存 方法的執行順序,如 main 方法呼叫 go 方法 然後用go 方法呼叫relase 方法,那麼這三個方法就會按照main go relase 的順序儲存在棧中,按照棧的規...

java中vector的用法

啥意思 樓主說明白些嘛 vector 集合從1.0開始有 vector studentname new vector 這樣你肯定知道什麼意思?就不用解釋了吧?vectorstudentname new vector 上下有什麼區別呢,每個人都知道,就多了個這個東西,其中stuinfo應該是一個類,而...

java 怎麼刪除list中的指定元素

高 婷婷 主要有三種方法 用一個list 記錄要刪除的資料,最後removeall list 用for迴圈遍歷,原始書寫方式 用迭代器自帶的remove方法,這也是官方推薦的方法。 白卡 從list中刪除指定元素可以使用remove方法來實現 arraylist al new arraylist a...