java:對象的內存解析

 

 

Java虛擬機的內存大致分爲三個區域:

 

1、堆(Heap),此內存區域的唯一目的就是存放對象實例,幾乎所有的對象實例都在這裏分配內存。這一點在Java虛擬機規範中的描述是:所有的對象實例以及數組都要在堆上分配。 

2、通常所說的棧(Stack),是指虛擬機棧。虛擬機棧用於存儲局部變量等。局部變量表存放了編譯期可知長度的各種基本數據類型(boolean、byte、char 、 short 、 int 、 float 、 long 、double)、對象引用(reference類型,它不等同於對象本身,是對象在堆內存的首地址)。 方法執行完,自動釋放。


3、方法區(Method Area),用於存儲已被虛擬機加載的類信息、常量、靜態變量、即時編譯器編譯後的代碼等數據。

 

 

這篇可擴展學習下。

https://blog.csdn.net/weixin_43303530/article/details/106297386

https://www.jianshu.com/p/4c80a972aedb

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章