Java的內(nèi)存需要劃分成為五部分:
1、棧(Stack):存放的都是方法中的局部變量,方法的運(yùn)行一定要在棧中運(yùn)行。
? ? ? 局部變量:方法的參數(shù)或者是方法體內(nèi)部的變量
? ? ? 作用域:一旦超出作用域,立即從棧內(nèi)存中消失。
2、堆(Heap):凡是new出來的東西,都在堆當(dāng)中。
? ? ? 堆內(nèi)存里面的東西都有一個地址:十六進(jìn)制。
? ? ? 堆內(nèi)存中的數(shù)據(jù)都有默認(rèn)值,規(guī)則如下:
? ? 整數(shù):默認(rèn)為0
? ? 浮點(diǎn)數(shù):默認(rèn)為0.0
? ? 字符:默認(rèn)為'/u0000'
? ? 布爾:默認(rèn)為false
? ? 引用類型:默認(rèn)為null
3、方法區(qū):存儲.class相關(guān)信息,包含方法的信息。
4、本地方法棧(Method Area):與操作系統(tǒng)相關(guān)。
5、寄存器(pc Register):與CPU相關(guān)。
eg:

舉例1