Java程序開發中的簡單內存分析
首先內存總體分為了4個部分,包括 stack segment 、heap segment、code segment 、data segment ;
其中我們程序中用關鍵字new出來的東西都是存放在heap segment;
程序中的局部變量存放在stack segment,這些局部變量是在具體方法執行結束之后,系統自動釋放內存資源(而heap segment中的資源需要java垃圾回收機制來處理);
程序中的方法,是內存中的code segment中的,而且是多個對象 共享一個代碼空間區域;
static靜態變量,需要放在內存中的data segment中,
下面是一個例子程序的內存分析
|
下面是內存空間分配的過程
第二步執行過程
這是整個main方法執行過程中的內存空間分配,分析好內存對以后分析邏輯性錯誤的程序非常重要。
【編輯推薦】