1、java數(shù)據(jù)類(lèi)型
java的數(shù)據(jù)類(lèi)型分為兩類(lèi):原始類(lèi)型(primitive type,也叫做基本類(lèi)型)和引用類(lèi)型(reference type),與之對(duì)應(yīng)的原始值和引用值。
1.1 原始類(lèi)型和值
byte類(lèi)型:8位有符號(hào)二進(jìn)制補(bǔ)碼整數(shù),默認(rèn)值為0,范圍:-27 ~ -27-1。
short類(lèi)型:16位有符號(hào)二進(jìn)制補(bǔ)碼整數(shù),默認(rèn)值為0,范圍:-215 ~ -215-1。
int類(lèi)型:32位有符號(hào)二進(jìn)制補(bǔ)碼整數(shù),默認(rèn)值為0,范圍:-231 ~ -231-1。
long類(lèi)型:64位有符號(hào)二進(jìn)制補(bǔ)碼整數(shù),默認(rèn)值為0,范圍:-263 ~ -253-1。
char類(lèi)型:16位無(wú)符號(hào)整數(shù)表示的unicode碼點(diǎn)。
float:32位單精度浮點(diǎn)數(shù)。
double:64位雙精度浮點(diǎn)數(shù)。
boolean:布爾類(lèi)型,值位true和false。
1.2 引用類(lèi)型
引用類(lèi)型分為三種:類(lèi)類(lèi)型(class type)、數(shù)組類(lèi)型(array type)和接口類(lèi)型(interface type),這些引用類(lèi)型值分別指向動(dòng)態(tài)創(chuàng)建的類(lèi)實(shí)例、數(shù)組實(shí)例和實(shí)現(xiàn)了某個(gè)接口的類(lèi)實(shí)例或數(shù)組實(shí)例。
2、運(yùn)行時(shí)數(shù)據(jù)區(qū)
2.1 PC寄存器(Program Counter Register)
PC寄存器(Program Counter Register) 是一塊較小的內(nèi)存空間,它可以看作是當(dāng)前線(xiàn)程所執(zhí)行的字節(jié)碼的行號(hào)指示器。在虛擬機(jī)的概念模型里,字節(jié)碼解釋器工作時(shí)就是通過(guò)改變這個(gè)計(jì)數(shù)器的值來(lái)選取下一條執(zhí)行字節(jié)碼指令。
每條線(xiàn)程都有一個(gè)獨(dú)立的PC寄存器(程序計(jì)數(shù)器)。
如果執(zhí)行的是java方法,這個(gè)計(jì)數(shù)器記錄的是正在執(zhí)行的虛擬機(jī)字節(jié)碼指令地址。如果是native方法,計(jì)數(shù)器為空。此內(nèi)存區(qū)域是唯一一個(gè)在java虛擬機(jī)規(guī)范中沒(méi)有規(guī)定任何OutOfMemoryError情況的區(qū)域。