1. 程式人生 > >Java 內存分配

Java 內存分配

指針 執行方法 指向 加載 共享 管理 內存 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 內存分配