国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

旅游網(wǎng)站開發(fā)項(xiàng)目策劃書中國四大軟件外包公司

旅游網(wǎng)站開發(fā)項(xiàng)目策劃書,中國四大軟件外包公司,做網(wǎng)站要注意些什么,wordpress 切換語言JVM:雙親委派機(jī)制 1. 例子2. 類加載器總結(jié)3. 類加載過程4. 雙親委派模型的執(zhí)行流程:5. 雙親委派模型的好處 1. 例子 Java運(yùn)行時環(huán)境有一個java.lang包,里面有一個ClassLoader類 我們自定義一個String類在java.lang包下,下面的…

JVM:雙親委派機(jī)制

  • 1. 例子
  • 2. 類加載器總結(jié)
  • 3. 類加載過程
  • 4. 雙親委派模型的執(zhí)行流程:
  • 5. 雙親委派模型的好處

1. 例子

Java運(yùn)行時環(huán)境有一個java.lang包,里面有一個ClassLoader
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

我們自定義一個String類在java.lang包下,下面的main方法報(bào)錯。原因是: 根據(jù)雙親委派機(jī)制,會向上找先是找到了應(yīng)用程序加載器(appClassLoader) ,然后向上找擴(kuò)展類加載器(ExtClassLoader),最后找根類加載器(Boot Strap Loader),發(fā)現(xiàn)有String執(zhí)行根加載器的也就是rt.jar包中的。 其實(shí)就是上級的加載器有的就執(zhí)行上級的
在這里插入圖片描述

2. 類加載器總結(jié)

JVM 中內(nèi)置了三個重要的 ClassLoader:

  1. BootstrapClassLoader(啟動類加載器) :最頂層的加載類,由 C++實(shí)現(xiàn),通常表示為 null,并且沒有父級,主要用來加載 JDK 內(nèi)部的核心類庫( %JAVA_HOME%/lib目錄下的 rt.jar 、resources.jar 、charsets.jar等 jar 包和類)以及被 -Xbootclasspath參數(shù)指定的路徑下的所有類。
  2. ExtensionClassLoader(擴(kuò)展類加載器):主要負(fù)責(zé)加載 %JRE_HOME%/lib/ext 目錄下的 jar 包和類以及被 java.ext.dirs 系統(tǒng)變量所指定的路徑下的所有類。
  3. AppClassLoader(應(yīng)用程序類加載器) :面向我們用戶的加載器,負(fù)責(zé)加載當(dāng)前應(yīng)用 classpath 下的所有 jar 包和類。

簡單來說,類加載器的主要作用就是加載 Java 類的字節(jié)碼( .class 文件)到 JVM 中(在內(nèi)存中生成一個代表該類的 Class 對象)。 字節(jié)碼可以是 Java 源程序(.java文件)經(jīng)過 javac 編譯得來,也可以是通過工具動態(tài)生成或者通過網(wǎng)絡(luò)下載得來。

3. 類加載過程

  • 類加載過程:加載->連接->初始化。
  • 連接過程又可分為三步:驗(yàn)證->準(zhǔn)備->解析。

在這里插入圖片描述

加載是類加載過程的第一步,主要完成下面 3 件事情:

  1. 通過全類名獲取定義此類的二進(jìn)制字節(jié)流
  2. 將字節(jié)流所代表的靜態(tài)存儲結(jié)構(gòu)轉(zhuǎn)換為方法區(qū)的運(yùn)行時數(shù)據(jù)結(jié)構(gòu)
  3. 在內(nèi)存中生成一個代表該類的 Class 對象,作為方法區(qū)這些數(shù)據(jù)的訪問入口

4. 雙親委派模型的執(zhí)行流程:

  • 在類加載的時候,系統(tǒng)會首先判斷當(dāng)前類是否被加載過。已經(jīng)被加載的類會直接返回,否則才會嘗試加載(每個父類加載器都會走一遍這個流程)。
  • 類加載器在進(jìn)行類加載的時候,它首先不會自己去嘗試加載這個類,而是把這個請求委派給父類加載器去完成(調(diào)用父加載器 loadClass()方法來加載類)。這樣的話,所有的請求最終都會傳送到頂層的啟動類加載器 BootstrapClassLoader 中。
  • 只有當(dāng)父加載器反饋?zhàn)约簾o法完成這個加載請求(它的搜索范圍中沒有找到所需的類)時,子加載器才會嘗試自己去加載(調(diào)用自己的 findClass() 方法來加載類)。
    在這里插入圖片描述
    在這里插入圖片描述

5. 雙親委派模型的好處

雙親委派模型保證了 Java 程序的穩(wěn)定運(yùn)行,可以避免類的重復(fù)加載(JVM 區(qū)分不同類的方式不僅僅根據(jù)類名,相同的類文件被不同的類加載器加載產(chǎn)生的是兩個不同的類),也保證了 Java 的核心 API 不被篡改。

在這里插入圖片描述

如果沒有使用雙親委派模型,而是每個類加載器加載自己的話就會出現(xiàn)一些問題,比如我們編寫一個稱為 java.lang.Object 類的話,那么程序運(yùn)行的時候,系統(tǒng)就會出現(xiàn)兩個不同的 Object 類。雙親委派模型可以保證加載的是 JRE 里的那個 Object 類,而不是你寫的 Object 類。這是因?yàn)?AppClassLoader 在加載你的 Object 類時,會委托給 ExtClassLoader 去加載,而ExtClassLoader 又會委托給 BootstrapClassLoader,BootstrapClassLoader 發(fā)現(xiàn)自己已經(jīng)加載過了 Object 類,會直接返回,不會去加載你寫的 Object 類。

http://aloenet.com.cn/news/39946.html

相關(guān)文章:

  • 常德網(wǎng)站建設(shè)要點(diǎn)網(wǎng)站買賣交易平臺
  • 電子商務(wù)的就業(yè)方向seo網(wǎng)站優(yōu)化是什么
  • 昆明網(wǎng)站建設(shè)哪家好網(wǎng)絡(luò)推廣入門教程
  • 怎樣在谷歌做網(wǎng)站站內(nèi)關(guān)鍵詞排名優(yōu)化軟件
  • vps做網(wǎng)站空間長春網(wǎng)絡(luò)優(yōu)化哪個公司在做
  • 網(wǎng)站開發(fā)的職業(yè)技術(shù)方面seo怎么做新手入門
  • 如何建設(shè)好政府門戶網(wǎng)站優(yōu)化網(wǎng)站性能
  • 成品網(wǎng)站管理系統(tǒng) 源碼拼多多網(wǎng)店代運(yùn)營要多少費(fèi)用
  • app網(wǎng)站制作要多少錢電腦優(yōu)化系統(tǒng)的軟件哪個好
  • wordpress加載慢 2017西安快速排名優(yōu)化
  • 網(wǎng)站發(fā)布信息技巧世界疫情最新數(shù)據(jù)
  • 阿里巴巴全球采購網(wǎng)優(yōu)化搜索點(diǎn)擊次數(shù)的方法
  • 福州做網(wǎng)站建設(shè)海外新聞發(fā)布
  • 古董做推廣哪個網(wǎng)站好微信營銷軟件排行榜
  • 網(wǎng)站是自己做還是讓別人仿愛鏈接網(wǎng)如何使用
  • 用java做網(wǎng)站要學(xué)什么谷歌獨(dú)立站推廣
  • 微信網(wǎng)站開發(fā)教程視頻貴陽網(wǎng)絡(luò)推廣排名
  • 隆昌市住房和城鄉(xiāng)建設(shè)廳網(wǎng)站可以引流推廣的app
  • 建設(shè)網(wǎng)站硬件千鋒教育地址
  • layui wordpressseo實(shí)戰(zhàn)密碼電子書
  • 注冊網(wǎng)站賬號違法嗎軟文廣告經(jīng)典案例300字
  • 做網(wǎng)站書面報(bào)告申請深圳谷歌推廣公司
  • 冀州網(wǎng)站建設(shè)價格2023網(wǎng)站推廣入口
  • 網(wǎng)站備案管理系統(tǒng)北京今日重大新聞
  • 優(yōu)化大師app下載汕頭seo建站
  • 合肥建設(shè)網(wǎng)絡(luò)賭博網(wǎng)站網(wǎng)站移動端優(yōu)化工具
  • 縉云建設(shè)局網(wǎng)站網(wǎng)絡(luò)營銷課程思政
  • 韋博在上面做課件的網(wǎng)站叫什么搜狗推廣登錄
  • 佛山倫教網(wǎng)站設(shè)計(jì)千鋒教育官網(wǎng)
  • app下載網(wǎng)站模板品牌推廣外包