aaaa成人_日本一道本在线视频_国产高潮流白浆喷水在线观看_韩国专区福利一区二区_一区二区不卡视频_看全色黄大色黄大片女图片第一次

×

深入理解JAVA虛擬機(jī)

  • 作者:新網(wǎng)
  • 來(lái)源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-11 15:05:00

對(duì)于Java,我們首先需要知道Java的體系結(jié)構(gòu),總體來(lái)說(shuō),它由4部分組成1、java程序設(shè)計(jì)語(yǔ)言:這就是我們通常編碼時(shí)寫(xiě)的代碼。2、java class文件:源碼編譯后的二進(jìn)制字節(jié)碼文件,后綴名.class的文件。3、java API:就是JDK中自帶的那些java代碼,其介于開(kāi)發(fā)人員編寫(xiě)的代碼與底層操作系統(tǒng)資源之間的中間層。4、java虛擬機(jī):用來(lái)裝載class文件并且執(zhí)行其中的字節(jié)碼。

   對(duì)于Java,我們首先需要知道Java的體系結(jié)構(gòu),總體來(lái)說(shuō),它由4部分組成1、java程序設(shè)計(jì)語(yǔ)言:這就是我們通常編碼時(shí)寫(xiě)的代碼。2、java class文件:源碼編譯后的二進(jìn)制字節(jié)碼文件,后綴名.class的文件。3、java API:就是JDK中自帶的那些java代碼,其介于開(kāi)發(fā)人員編寫(xiě)的代碼與底層操作系統(tǒng)資源之間的中間層。4、java虛擬機(jī):用來(lái)裝載class文件并且執(zhí)行其中的字節(jié)碼。

458PICJ58PICAga_1024.jpg

<div>  一、Java虛擬機(jī)
  前面講到,java虛擬機(jī)的主要任務(wù)就是加載class文件并且執(zhí)行其中的字節(jié)碼,其與Java API合在一起就是我們所謂的“Java 平臺(tái)”,或者"Java運(yùn)行時(shí)環(huán)境"。
  Java虛擬機(jī)主要由類(lèi)裝載器子系統(tǒng)和字節(jié)碼執(zhí)行引擎兩部分組成。
  1、類(lèi)裝載器子系統(tǒng),顧名思義,就是用來(lái)負(fù)責(zé)定位并加載class文件的,目前依據(jù)繼承層次主要分為:?jiǎn)?dòng)類(lèi)裝載器(BootstrapClassLoader)、標(biāo)準(zhǔn)擴(kuò)展類(lèi)裝載器(ExtClassLoader)、類(lèi)路徑類(lèi)裝載器(AppClassLoader,也叫系統(tǒng)類(lèi)裝載器)以及用戶自定義類(lèi)裝載器。類(lèi)裝載器裝載類(lèi)時(shí),都是在JVM第一次需要執(zhí)行該類(lèi)字節(jié)碼時(shí)發(fā)生,即我們所謂的"延遲加載"機(jī)制。
  2、字節(jié)碼執(zhí)行引擎,即將Java字節(jié)碼翻譯為本地機(jī)器碼的模塊。目前執(zhí)行引擎主要分為四類(lèi):
  (1) 一次性解釋字節(jié)碼:即為當(dāng)JVM執(zhí)行某段字節(jié)碼時(shí),由執(zhí)行引擎將其翻譯為本地機(jī)器碼,當(dāng)再次執(zhí)
  行到該段字節(jié)碼時(shí),再次由執(zhí)行引擎翻譯為本地機(jī)器碼。
  (2) JIT(即時(shí)編譯器):在(1)的基礎(chǔ)上,將翻譯后的本地機(jī)器碼緩存起來(lái),當(dāng)再次執(zhí)行時(shí),就不需要再次
  翻譯了。當(dāng)然,該種執(zhí)行引擎會(huì)占用更多的內(nèi)存。
  (3) 自適應(yīng)優(yōu)化器:JVM會(huì)監(jiān)視所有字節(jié)碼的執(zhí)行頻率,將那些常用的字節(jié)碼所對(duì)應(yīng)的本地機(jī)器碼緩存
  起來(lái)。
  (4) 硬件芯片:由本地方法執(zhí)行Java字節(jié)碼,但是這些本地方法是被固化在芯片中。
  二、類(lèi)裝載器
  前面已經(jīng)提到過(guò),Java類(lèi)裝載器主要分為四種:?jiǎn)?dòng)類(lèi)裝載器(BootstrapClassLoader)、標(biāo)準(zhǔn)擴(kuò)展類(lèi)裝載器(ExtClassLoader)、類(lèi)路徑類(lèi)裝載器(AppClassLoader,也叫系統(tǒng)類(lèi)裝載器)以及用戶自定義類(lèi)裝載器。那么這四類(lèi)不同的裝載器區(qū)別是什么?這里先不贅述。
  但是這里比較重要的一點(diǎn)就是,JVM對(duì)不同的類(lèi)裝載器[對(duì)象]定義了不同的命名空間,而且不同命名空間里的類(lèi)對(duì)象是彼此不可見(jiàn)的,不能彼此相互訪問(wèn)(除非應(yīng)用程序顯示地要求這么做)。那么這句話到底怎么理解呢?假如類(lèi)裝載器A(對(duì)象)裝載了類(lèi)Hello A,并且類(lèi)裝載器B(對(duì)象)也裝載了類(lèi)Hello B,那么其實(shí)對(duì)于這兩個(gè)Hello類(lèi)對(duì)象而言,他們并不知道對(duì)方的存在,更不能相互訪問(wèn),因?yàn)樗麄儗儆趦蓚€(gè)不同的命名空間A和B。而且,對(duì)于JVM來(lái)說(shuō),這兩個(gè)Hello類(lèi)對(duì)象也是屬于兩個(gè)完全不同的類(lèi)對(duì)象,因?yàn)閷?duì)于JVM來(lái)說(shuō),只能由 類(lèi)裝載器[對(duì)象](命名空間)和類(lèi)完全限定名 才能唯一標(biāo)識(shí)一個(gè)類(lèi)對(duì)象。
  另外,需要我們記住的一點(diǎn)就是,同時(shí)依然是上面一句話的延伸,即:類(lèi)及該類(lèi)所引用的其他類(lèi)必然屬于同一個(gè)命名空間,即該類(lèi)所引用的其他類(lèi)必然會(huì)被裝載第一個(gè)類(lèi)的裝載器[對(duì)象]來(lái)裝載。比如類(lèi)Hello A被裝載器A裝載到了JVM中,但是該Hello A類(lèi)同時(shí)引用了類(lèi)Hello B,那么Hello B類(lèi)也同時(shí)會(huì)被裝載器A加載到JVM中,如此以來(lái),Hello A和Hello B之間才能可見(jiàn),才能相互訪問(wèn)。換句通俗話來(lái)講,當(dāng)被裝載的類(lèi)引用了另外一個(gè)類(lèi),那么JVM就會(huì)用裝載第一個(gè)類(lèi)的裝載器[對(duì)象]來(lái)裝載被引用的類(lèi)。
  如此設(shè)計(jì)的類(lèi)裝載器模型,可以有效地防止不同代碼間的相互侵占,相互破壞。
  三、Java Class文件
  在Java Class文件中,字節(jié)順序是 高位在前 ,這 一點(diǎn)希望大家要謹(jǐn)記。
  四、Java API
  Java API的class文件天然就是與平臺(tái)相關(guān)的,其處于Java程序與本地代碼中間這一層,但是正是由于有了Java API這一層,才致使我們編寫(xiě)的Java代碼是與平臺(tái)無(wú)關(guān)的。
  同時(shí),Java API中提供了安全性模型。安全管理器正是這樣一個(gè)為應(yīng)用程序提供自定義安全策略的對(duì)象,例如,安全管理器可以禁止對(duì)本地磁盤(pán)的非法訪問(wèn)。然后在Java1.2中,安全管理器被訪問(wèn)控制器所取代,該類(lèi)用來(lái)執(zhí)行棧檢驗(yàn),以決定是否準(zhǔn)許某種操作。

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading
主站蜘蛛池模板: 97久久久久亚洲 | 亚洲一级毛片 | 蜜臀久久99精品久久久久久 | 人妻无码中文专区久久综合 | 久久在现视频 | 久久亚洲aⅴ永久无码精品 精品久久久久久久久久ntr影视 | 伊人精品成人久久综合软件 | 蜜臀亚洲AV无码精品国产午夜. | 亚洲精品免费av | 亚洲精品一二三四五区 | 久久精品人妻无码一区二区三区 | 亚洲AV久久久噜噜噜熟女软件 | 九九99热 | 中文一区二区三区四区 | 高清性色生活片97 | 国产午夜福利视频在线观看 | 免费无码国产V片在线观看 久久久激情网 | 国产偷窥熟妇高潮呻吟 | 久久蜜桃av | 俄罗斯ZOOM与人性ZOOM | 日日摸夜夜添夜夜添无码免费视频 | 中文字幕亚洲无线码一区女同 | 毛片久久 | 日本人在线观看 | 久久久精品动漫 | 欧美日韩亚洲天堂 | 全国最大成人网站 | 亚洲精片 | 精品91一区二区三区 | 熟妇人妻无乱码中文字幕 | 亚洲中文久久精品81 | 亚洲精品一区二区三区在线 | 91在线成人 | 囯产精品久久久久久久久久妞妞 | 日本不卡免费高清视频在线 | 在线播放视频一区 | 国产免费永久在线观看 | 18禁免费观看网站 | 亚洲麻豆av肉丝网站一区二区 | 亚洲视频二区在线观看 | 九一欧美|