Java 內存分配
阿新 • • 發佈:2017-06-01
指針 執行方法 指向 加載 共享 管理 內存 mage 計數
JVM內存區域模型:
* 程序計數器,內存區域極小,是當前線程的字節碼執行行號指示器;
* 虛擬機棧、本地方法棧,即平時所說的“棧”,是虛擬機用來執行方法(包括Java、非Java方法)時,使用的臨時內存空間,用來存儲當前方法、局部變量等,全部基本類型變量,以及類對象的引用都存儲在棧中;
* 方法區,全局共享區域,用來存儲已經被虛擬機加載的Class信息、常量(如字符串字面常量)、靜態變量,以及編譯器編譯後的代碼等;
* 堆,是Java虛擬機管理中最大的一塊內存,為所有線程所共享,用來存儲所有Java類實例。需要註意的是,實例數據在堆中開辟內存,而對象的引用相當於指針,存儲在各線程的棧中。
創建一個對象
Person person1=new Person("John",20);
1.在棧內存中Person person1=null;
2.在堆內存中new Person("John",20);
3初始化,person1的引用指針(指針在棧中)指向堆內存中的new Person("John",20);
==================================================
http://blog.csdn.net/yangyuankp/article/details/7651251
Java 內存分配