先看一下程式碼:
(推薦教學(xué):java入門教學(xué))
package cn.liang.jvm; public class SimpleHeap { private int id; public SimpleHeap(int id){ this.id = id; } public void show(){ System.out.println("My ID is " + id); } public static void main(String[] args) { SimpleHeap s1 = new SimpleHeap(1); SimpleHeap s2 = new SimpleHeap(2); s1.show(); s2.show(); } }
關(guān)係圖:
(視訊教學(xué)推薦:java視訊教學(xué))
-
#SimpleHeap實(shí)例本身分配在堆記憶體中
描述SimpleHeap類別的資訊存放在方法區(qū)
#main()函數(shù)中s1和s2局部變數(shù)存放在Java棧記憶體中,並指向堆記憶體的兩個實(shí)例
堆區(qū):
1、儲存的全部是對象,每個物件都包含一個與之對應(yīng)的class的資訊。 (class的目的在於得到操作指令)
2、jvm只有一個堆區(qū)(heap)被所有執(zhí)行緒共享,堆中不存放基本型別和物件引用,只存放物件本身。
堆疊區(qū):
1、每個執(zhí)行緒包含一個堆疊區(qū),堆疊中只保存基礎(chǔ)資料型別的物件和自訂物件的參考(不是物件),物件都存放在堆區(qū)中
2、每個堆疊中的資料(原始型別和物件參考)都是私有的,其他堆疊不能存取。
3、堆疊分為3個部分:基本類型變數(shù)區(qū)、執(zhí)行環(huán)境上下文、操作指令區(qū)(存放操作指令)。
方法區(qū):
1、又叫靜態(tài)區(qū),跟堆一樣,被所有的執(zhí)行緒共用。方法區(qū)包含所有的class和static變數(shù)。
2、方法區(qū)包含的都是在整個程式中永遠(yuǎn)唯一的元素,如class,static變數(shù)。
以上是棧記憶體、堆疊記憶體與方法區(qū)的關(guān)係分析的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)