為什么Java中有三種基礎的類加載器?

引言

Java中有三種基礎的類加載器 BootStrap, Extension and System

他們都有一個職能,就是從不同的包中加載類。

但是一個類加載器完全可以加載所有的類闽烙,為什么要有3種基礎的類型的類加載器呢?

最佳答案

Java中有三種基礎的類加載器主要為了安全声搁。

1.2版本的JVM中黑竞,只有一個類加載器,就是現(xiàn)在的“Bootstrap”類加載器疏旨。

類加載器加載類的方式是很魂,加載器先調用父加載器對類進行加載,如果父加載器找不到該類充石,此加載器才會去加載該類莫换。

最關鍵的是, 除非是同一個類加載器加載的類 骤铃,否則JVM不會保證包訪問級別(如果不指明private/public或protected拉岁,則方法和屬性具有包訪問級別)。

image

因此惰爬,假如用戶調用他編寫的java.lang.MyClass類喊暖。理論上該類可以訪問和改變java.lang包下其他類的默認訪問修飾符的屬性和方法的能力。Java語言本身并沒有阻止這種行為撕瞧。但是JVM則會阻止這種行為陵叽,因為java核心類庫的java.lang包下的類是由bootstrap類加載器加載的狞尔。不是同一個類加載器加載的類等于不具有包級別的訪問權限。

類加載器中的其他安全特性也會阻止這種類型侵入巩掺。

所以為什么有三種基礎的類加載器偏序?是因為他們代表三種不同的信任級別。最可信的級別是java核心API類胖替。然后是安裝的拓展類研儒,最后才是在類路徑中的類(屬于你本機的類)。

其他解釋1

類加載主要的應用場景是在應用服務器上独令。

如果你想啟動Tomcat端朵。這至少需要一個類加載器來運行Tomcat自己。

然后你想在Tomcat容器中部署項目燃箭。因此Tomcat需要加載和分析甚至在Tomcat啟動前都不存在的類冲呢。

然后你又想在Tomcat中部署另外一個應用。 第二個應用可能也會用到第一個應用使用的庫招狸,但是版本不同敬拓。

因此你就需要每個應都有相互隔離的類加載器,否則第二個應用的類可能會覆蓋第一個應用之前加載的類瓢颅,從而造成一些意想不到的后果恩尾。

然后你想停掉某個web應用。該應用的類加載器應該會被銷毀挽懦,垃圾也隨之被回收,這樣可以避免內存泄露木人。

或許類加載器還有其他用途信柿,但這是我印象中最常見的用法。

其他解釋2

多種類加載器待辦可以同時加載多個應用程序(一個加載服務醒第,另外的加載器用來服務器內部的部署)渔嚷。

每種加載器都有對應的層級來加載某些特定的類,來保證他們之間的安全性稠曼。

總結

當你工作一段時間以后形病,差不多3 年左右的時間,你就需要花點時間思考下霞幅,給自己一個未來的規(guī)劃漠吻,想想自己對什么是真正的感興趣,什么方向才真正的適合自己司恳,進而給自己定位途乃,然后朝著自己定位的方向去學習,去努力扔傅,只有這樣才能讓你在職業(yè)生涯的中期不至于迷茫耍共,不至于覺得心里沒底

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末烫饼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子试读,更是在濱河造成了極大的恐慌杠纵,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钩骇,死亡現(xiàn)場離奇詭異比藻,居然都是意外死亡,警方通過查閱死者的電腦和手機伊履,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門韩容,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人唐瀑,你說我怎么就攤上這事群凶。” “怎么了哄辣?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵请梢,是天一觀的道長。 經常有香客問我力穗,道長毅弧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任当窗,我火速辦了婚禮够坐,結果婚禮上,老公的妹妹穿的比我還像新娘崖面。我一直安慰自己元咙,他們只是感情好,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布巫员。 她就那樣靜靜地躺著庶香,像睡著了一般。 火紅的嫁衣襯著肌膚如雪简识。 梳的紋絲不亂的頭發(fā)上赶掖,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音七扰,去河邊找鬼奢赂。 笑死,一個胖子當著我的面吹牛戳寸,可吹牛的內容都是我干的呈驶。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼疫鹊,長吁一口氣:“原來是場噩夢啊……” “哼袖瞻!你這毒婦竟也來了司致?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤聋迎,失蹤者是張志新(化名)和其女友劉穎脂矫,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霉晕,經...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡庭再,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了牺堰。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拄轻。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖伟葫,靈堂內的尸體忽然破棺而出恨搓,到底是詐尸還是另有隱情,我是刑警寧澤筏养,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布斧抱,位于F島的核電站,受9級特大地震影響渐溶,放射性物質發(fā)生泄漏辉浦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一茎辐、第九天 我趴在偏房一處隱蔽的房頂上張望宪郊。 院中可真熱鬧,春花似錦拖陆、人聲如沸废膘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至斋配,卻和暖如春孔飒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背艰争。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工坏瞄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人甩卓。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓鸠匀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親逾柿。 傳聞我的和親對象是個殘疾皇子缀棍,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內容