石家莊便宜網(wǎng)站制作,html底部友情鏈接代碼,網(wǎng)站icp備案時(shí)間,湛江seo網(wǎng)站推廣目錄 一、說(shuō)明二、注意 一、說(shuō)明 1. Java虛擬機(jī)棧用于管理Javaj法的調(diào)用,而本地方法棧用于管理本地方法的調(diào)用。 2. 本地方法棧,也是線程私有的。 3. 允許被實(shí)現(xiàn)成固定或者是可動(dòng)態(tài)擴(kuò)展的內(nèi)存大小。 (在內(nèi)存溢出方面是相同) 4. 如果線程請(qǐng)求分…
一、說(shuō)明
- 1. Java虛擬機(jī)棧用于管理Javaj法的調(diào)用,而本地方法棧用于管理本地方法的調(diào)用。
- 2. 本地方法棧,也是線程私有的。
- 3. 允許被實(shí)現(xiàn)成固定或者是可動(dòng)態(tài)擴(kuò)展的內(nèi)存大小。 (在內(nèi)存溢出方面是相同)
- 4. 如果線程請(qǐng)求分配的棧容量超過(guò)本地方法棧允許的最大容量,Java虛擬機(jī)將會(huì)拋出一個(gè) stackoverflowError 異常。
- 5. 如果本地方法??梢詣?dòng)態(tài)擴(kuò)展,并且在嘗試擴(kuò)展的時(shí)候無(wú)法申請(qǐng)到足夠的內(nèi)存.或者在創(chuàng)建新的線程時(shí)沒(méi)有足夠的內(nèi)存去創(chuàng)建對(duì)應(yīng)的本地方法棧,那么Java虛擬機(jī)將會(huì)拋出一個(gè) OutOfMemoryError 異常。
- 6. 本地方法是使用c語(yǔ)言實(shí)現(xiàn)的
- 7. 它的具體做法是Native Method Stack中登記native方法,在Execution Engine 執(zhí)行時(shí)加載本地方法庫(kù)
二、注意
- 1. 當(dāng)某個(gè)線程調(diào)用一個(gè)本地方法時(shí),它就進(jìn)入了一個(gè)全新的并且不再受虛擬機(jī)限制的世界。它和虛擬機(jī)擁有同樣的權(quán)限
- 2. 本地方法可以通過(guò)本地方法接口來(lái)訪問(wèn)虛擬機(jī)內(nèi)部的運(yùn)行時(shí)數(shù)據(jù)區(qū)
- 3. 它甚至可以直接使用本地處理器中的寄存器
- 4. 直接從本地內(nèi)存的堆中分配任意數(shù)量的內(nèi)存
- 5. 并不是所有的JVM都支持本地方法。因?yàn)镴ava虛擬機(jī)規(guī)范并沒(méi)有明確要求本地方法棧的使用語(yǔ)言、具體實(shí)現(xiàn)方式、數(shù)據(jù)結(jié)構(gòu)等。如果JVM產(chǎn)品不打算支持native方法,也可以無(wú)需實(shí)現(xiàn)本地方法棧。