堆:
堆用於儲存建立好的物件和陣列(陣列也是物件)
jvm只有乙個堆,被所有執行緒共享
對是乙個不連續的記憶體空間,分配靈活,速度慢
棧:
棧描述的是方法執行的記憶體模型。每個方法被呼叫都會建立乙個棧幀(儲存區域性變數、運算元、方法出口等)
jvm為每個執行緒建立乙個棧,用於存放改執行緒執行方法的資訊(實際引數、區域性變數等)
棧屬於執行緒私有,不能實現執行緒間的共享
棧的儲存特性是「先進先出,後進後出」
棧是有系統自動分配,速度快。棧是乙個連續的記憶體空間
方法區(靜態區):
jvm只有乙個方法區,被所有執行緒共享
方法區實際也是堆,知識用於儲存類、常量相關的資訊
用來存放程式中伊歐尼公園不變或者唯一的內容(類資訊、class物件、靜態變數、字串常量等)
Java中的堆 棧 方法區深入分析
基本概念堆區 1.儲存的全部是物件,每個物件都包含乙個與之對應的 class 的資訊。class 的目的是得到操作指令 2.jvm 只有乙個堆區 heap 被所有執行緒共享,堆中不存放基本型別和物件引用,只存放物件本身。棧區 1.每個執行緒包含乙個棧區,棧中只儲存基礎資料型別的物件和自定義物件的引用...
Java方法過載的區分
測試程式 class computer 構造方法過載 param x public computer int x 根據引數個數不同的方法過載 param a param b return public intmax int a,int b public intmax int a,int b,int ...
java中堆疊的模擬
原帖為 本帖對其稍加改進 class stackdemo public boolean isempty public boolean isfull 獲取堆疊長度 public int getsize 獲取堆疊中存放的元素個數 public int getelementscount 新增元素 publ...