1. 程式人生 > >java--棧、堆、方法區

java--棧、堆、方法區

棧的特點如下:

  • 1 .棧描述的是方法執行的記憶體模型,每個方法被呼叫都回建立一個棧幀(儲存區域性變數、運算元、方法出口等)
  • 2。JVM為每個縣城建立一個棧,用於存放該執行緒執行方法的資訊(實際引數、區域性變數等)
  • 3.棧屬於執行緒私有,不能實現執行緒間的共享
  • 4.棧的儲存特性是“先進後出,後進先出”。(彈夾結構)
  • 5.棧是由系統自動分配,速度快!棧是一個連續的記憶體空間!

堆的特點如下:

  • 1 .堆用於儲存建立好的物件和陣列(陣列也是物件)
  • 2.JVM只有一個堆,被所有執行緒貢獻
  • 3.堆是一個不連續的記憶體空間,分配靈活,速度慢

方法區(又間靜態區)特點如下:

  • 1 .JVM只有一個方法區,被所有執行緒共享
  • 2.方法區實際也是堆,只是用於儲存類、常量相關的資訊!
  • 3.用來存放程式中永遠是不變或唯一的內容。(類資訊【Class物件】、靜態變數、字串常量等)