亚洲精品92内射,午夜福利院在线观看免费 ,亚洲av中文无码乱人伦在线视色,亚洲国产欧美国产综合在线,亚洲国产精品综合久久2007

?
Java知識(shí)分享網(wǎng) - 輕松學(xué)習(xí)從此開(kāi)始!????

Java知識(shí)分享網(wǎng)

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus權(quán)限系統(tǒng)實(shí)戰(zhàn)課程 震撼發(fā)布        

最新Java全棧就業(yè)實(shí)戰(zhàn)課程(免費(fèi))

AI人工智能學(xué)習(xí)大禮包

IDEA永久激活

66套java實(shí)戰(zhàn)課程無(wú)套路領(lǐng)取

鋒哥開(kāi)始收J(rèn)ava學(xué)員啦!

Python學(xué)習(xí)路線圖

鋒哥開(kāi)始收J(rèn)ava學(xué)員啦!

2020年攜程Java高級(jí)筆試面試題 PDF 下載


分享到:
時(shí)間:2020-08-23 09:42來(lái)源:http://sh6999.cn 作者:小鋒  侵權(quán)舉報(bào)
2020年攜程Java高級(jí)筆試面試題 PDF 下載
失效鏈接處理
2020年攜程Java高級(jí)筆試面試題 PDF 下載


本站整理下載:
 
相關(guān)截圖:
 
主要內(nèi)容:

1. 描述一下 JVM 加載 Class 文件的原理機(jī)制?
在面試 java 工程師的時(shí)候,這道題經(jīng)常被問(wèn)到,故需特別注意。
Java 中的所有類,都需要由類加載器裝載到 JVM 中才能運(yùn)行。類加
載器本身也是一個(gè)類,而它的工作就是把 class 文件從硬盤讀取到內(nèi)
存中。在寫程序的時(shí)候,我們幾乎不需要關(guān)心類的加載,因?yàn)檫@些都
是隱式裝載的,除非我們有特殊的用法,像是反射,就需要顯式的加
載所需要的類。
Java 類的加載是動(dòng)態(tài)的,它并不會(huì)一次性將所有類全部加載后再運(yùn)
行,而是保證程序運(yùn)行的基礎(chǔ)類(像是基類)完全加載到 jvm 中,至于
其他類,則在需要的時(shí)候才加載。這當(dāng)然就是為了節(jié)省內(nèi)存開(kāi)銷。
Java 的類加載器有三個(gè),對(duì)應(yīng) Java 的三種類:
三個(gè)加載器各自完成自己的工作,但它們是如何協(xié)調(diào)工作呢?哪一個(gè)類該由哪個(gè)類加載器完
成呢?為了解決這個(gè)問(wèn)題,Java 采用了委托模型機(jī)制。
委托模型機(jī)制的工作原理很簡(jiǎn)單:當(dāng)類加載器需要加載類的時(shí)候,先請(qǐng)示其 Parent(即上一
層加載器)在其搜索路徑載入,如果找不到,才在自己的搜索路徑搜索該類。這樣的順序其
實(shí)就是加載器層次上自頂而下的搜索,因?yàn)榧虞d器必須保證基礎(chǔ)類的加載。之所以是這種機(jī)
制,還有一個(gè)安全上的考慮:如果某人將一個(gè)惡意的基礎(chǔ)類加載到 jvm,委托模型機(jī)制會(huì)搜
索其父類加載器,顯然是不可能找到的,自然就不會(huì)將該類加載進(jìn)來(lái)。
我們可以通過(guò)這樣的代碼來(lái)獲取類加載器:注意一個(gè)很重要的問(wèn)題,就是 Java 在邏輯上并不存在 BootstrapKLoader 的實(shí)
體!因?yàn)樗怯?C++編寫的,所以打印其內(nèi)容將會(huì)得到 null。
前面是對(duì)類加載器的簡(jiǎn)單介紹,它的原理機(jī)制非常簡(jiǎn)單,就是下面幾個(gè)步驟:
1.裝載:查找和導(dǎo)入 class 文件;
2.連接:
3. 初始化:初始化靜態(tài)變量,靜態(tài)代碼塊。
來(lái)源:https://www.cnblogs.com/wenjiang/archive/2013/04/26/3044132.html
2. 什么是類加載器?
類加載器是一個(gè)用來(lái)加載類文件的類。Java 源代碼通過(guò) javac 編譯器編譯成類
文件。然后 JVM 來(lái)執(zhí)行類文件中的字節(jié)碼來(lái)執(zhí)行程序。類加載器負(fù)責(zé)加載文件
系統(tǒng)、網(wǎng)絡(luò)或其他來(lái)源的類文件。
3. 類加載器有哪些?
有三種默認(rèn)使用的類加載器:Bootstrap 類加載器、Extension 類加載器和
Application 類加載器。每種類加載器都有設(shè)定好從哪里加載類。Bootstrap 類加載器負(fù)責(zé)加載 rt.jar 中的 JDK 類文件,它是所有類加載器的父加
載 器 。 Bootstrap 類 加 載 器 沒(méi) 有 任 何 父 類 加 載 器 , 如 果 你 調(diào) 用
String.class.getClassLoader() , 會(huì) 返 回 null , 任 何 基 于 此 的 代 碼 會(huì) 拋 出
NullPointerException 異常。Bootstrap 加載器被稱為初始類加載器。

------分隔線----------------------------
?
鋒哥公眾號(hào)


鋒哥微信


關(guān)注公眾號(hào)
【Java資料站】
回復(fù) 666
獲取 
66套java
從菜雞到大神
項(xiàng)目實(shí)戰(zhàn)課程

鋒哥推薦