歡迎來(lái)到培訓(xùn)無(wú)憂網(wǎng)!
咨詢熱線 400-001-5729
2022-03-09 11:20:31|已瀏覽:199次
java培訓(xùn)課程:JVM的體系結(jié)構(gòu)
1. java培訓(xùn)課程中JVM 由哪些區(qū)域構(gòu)成?
由類加載器和運(yùn)行時(shí)數(shù)據(jù)區(qū)構(gòu)成;運(yùn)行時(shí)數(shù)據(jù)區(qū)又分為線程私有和線程共享兩大區(qū)域,線程私有的包括程序計(jì)數(shù)器、虛擬機(jī)棧和本地方法棧,線程共享的包括堆和方法區(qū)。
2. 類加載器的作用是什么?
加載 class 文件,生成類的結(jié)構(gòu)信息,將其存放在方法區(qū)。
3. 類加載器有哪些種類以及它們之間的關(guān)系是什么?
Bootstrap ClassLoader,加載 lib 下面的類;Extension ClassLoader,加載擴(kuò)展類,即 jre/ext 下面的類;Application ClassLoader,加載用戶編寫的類;還可以繼承 ClassLoader 類自定義類加載器。Application ClassLoader 是 Extension ClassLoader 的子類,Extension ClassLoader 又是 Bootstrap ClassLoader 的子類。
4. 什么是雙親委派機(jī)制?
簡(jiǎn)單地說(shuō)就是要加載類時(shí)先找自己的父類去進(jìn)行加載。比如要加載 A.class,【關(guān)注尚硅谷,輕松學(xué)IT】首先 Application ClassLoader 會(huì)先找自己的父類,即 Extension ClassLoader,Extension ClassLoader 又會(huì)先找自己的父類,即 Bootstrap ClassLoader,它沒(méi)加載到,再告訴 Extension ClassLoader,它又沒(méi)加載到,才輪到 Application ClassLoader 去加載。這就是雙親委派機(jī)制,可以保證優(yōu)先加載 JDK 自己的類。
5. 類的加載過(guò)程是怎樣的?
加載:將 class 文件加載進(jìn)內(nèi)存;
驗(yàn)證:驗(yàn)證 class 文件的正確性;
準(zhǔn)備:給類中的靜態(tài)變量分配空間;
解析:將 class 常量池中的符號(hào)引用替換成直接引用;
初始化:對(duì)靜態(tài)變量和靜態(tài)代碼塊進(jìn)行初始化。
6. 說(shuō)說(shuō)你對(duì)棧內(nèi)存的認(rèn)識(shí)?
棧內(nèi)存是線程私有的一塊區(qū)域,分為虛擬機(jī)棧和本地方法棧。基本類型的變量、對(duì)象的引用變量和實(shí)例方法都是在棧中分配的。棧的內(nèi)存地址是連續(xù)的,不存在垃圾回收。本地方法棧和虛擬機(jī)棧差不多,只不過(guò)本地方法棧是為本地方法服務(wù)的。
7. 程序計(jì)數(shù)器的作用是什么?
記錄程序執(zhí)行的位置,程序調(diào)用別的方法、循環(huán)、遞歸的時(shí)候,www.atguigu.com下一次要回到哪兒執(zhí)行,就靠程序計(jì)數(shù)器記錄。
8. 方法區(qū)是物理上的劃分嗎?
方法區(qū)是用來(lái)存儲(chǔ)類加載器生成的類的結(jié)構(gòu)信息的,它是邏輯上的劃分,是一種規(guī)范,并不是具體的實(shí)現(xiàn)。jdk1.7 對(duì)方法區(qū)的實(shí)現(xiàn)叫做永久代,它存在于堆內(nèi)存中;jdk1.8 對(duì)方法區(qū)的實(shí)現(xiàn)叫元空間,它共用物理內(nèi)存。
9. 你對(duì)堆內(nèi)存了解多少?
堆是 JVM 中最大的一塊區(qū)域,存放數(shù)組以及對(duì)象。它又分為新生代、老年代,內(nèi)存占比是 1:2 。新生代又分為伊甸園區(qū)、from 區(qū)和 to 區(qū),這三塊區(qū)域內(nèi)存占比為 8:1:1 。對(duì)象在新生代的伊甸園區(qū)出生,經(jīng)歷了若干次垃圾回收達(dá)到了年齡的對(duì)象就會(huì)存放到老年代。
以上就是整理的java培訓(xùn)課程內(nèi)容,希望對(duì)你有所幫助。
注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://www.hebeijilong.cn/news-id-24675.html 違者必究!部分文章來(lái)源于網(wǎng)絡(luò)由培訓(xùn)無(wú)憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注java培訓(xùn)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050