日韩在线首页I俄罗斯pornI男女猛烈激情XX00高潮动态I超碰免费97I乱人伦99久久I欧美日韩成人一区I最新日韩视频在线观看I粉嫩AV四季AV绯色AVI五月导航

×
新網 > 虛擬主機 > 正文

深入理解JAVA虛擬機

  • 作者:新網
  • 來源:新網
  • 瀏覽:100
  • 2018-05-11 15:05:00

對于Java,我們首先需要知道Java的體系結構,總體來說,它由4部分組成1、java程序設計語言:這就是我們通常編碼時寫的代碼。2、java class文件:源碼編譯后的二進制字節碼文件,后綴名.class的文件。3、java API:就是JDK中自帶的那些java代碼,其介于開發人員編寫的代碼與底層操作系統資源之間的中間層。4、java虛擬機:用來裝載class文件并且執行其中的字節碼。

   對于Java,我們首先需要知道Java的體系結構,總體來說,它由4部分組成1、java程序設計語言:這就是我們通常編碼時寫的代碼。2、java class文件:源碼編譯后的二進制字節碼文件,后綴名.class的文件。3、java API:就是JDK中自帶的那些java代碼,其介于開發人員編寫的代碼與底層操作系統資源之間的中間層。4、java虛擬機:用來裝載class文件并且執行其中的字節碼。

458PICJ58PICAga_1024.jpg

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

免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 亚洲首页一区任你躁xxxxx | 亚洲精品无码永久在线观看男男 | 日韩精品一区二区三区在线观看l | 疯狂做受xxxx欧美肥白少妇 | 99精品99| 极品少妇被猛的白浆直喷白浆喷水 | 精品久久亚洲中文字幕 | 欧美成人精精品一区二区 | 亚洲第一在线综合网站 | 亚洲色欲在线播放一区二区三区 | 国产在线看片无码人精品 | 日色网站 | 全部av―极品视觉盛宴 | 伊人成年综合网 | 丰满少妇一级 | 国产精品高潮呻吟久久av野狼 | 欧美猛少妇色xxxxx猛交 | 欧洲精品国产 | 97国产在线看片免费人成视频 | www.嫩草.com| 国产精品久久久久久无毒偷食禁果 | 成视频年人黄网站视频福利 | 亚洲调教欧美在线 | 一区二区视频在线免费观看 | 精品1卡二卡三卡四卡老狼 天天摸天天摸天天天天看 性一交一黄一片 | 国精产品999一区二区三区有限 | 韩国av三级 | 久久久综合九色合综国产精品 | 免费黄色网址在线观看 | 精品国产综合 | 欧美另类肥妇 | 全部免费毛片在线播放一个 | 制服丝袜人妻有码无码中文字幕 | 特级丰满少妇一级aaaa爱毛片 | 2018天天拍拍天天爽视频 | 国产视频一区二区三区四区五区 | 免费乱理伦片在线观看夜 | 色偷偷色噜噜狠狠成人免费视频 | 美女又爽又黄视频毛茸茸 | 欧美成 人版中文字幕 | 欧美成本人视频免费播放 | 欧美国产日本在线 | 男人解开女人乳罩吃奶 | 久久久久人妻精品一区三寸蜜桃 | 国产精品乱码一区二区视频 | 国产精品播放 | 精品aⅴ一区二区三区 | 8090理论片午夜理伦片 | 成年免费视频黄网站zxgk | 亚洲日批| 国产精品vⅰdeoxxxx国产 | a级片久久久 | 男女无遮挡猛进猛出免费视频国产 | 精品字幕 | 久久久精品国产99久久精品麻追 | 欧洲中文字幕日韩精品成人 | 国产成人精品综合久久久久 | 在线国产日韩 | 老司机香蕉久久久久久 | 亚洲精品网站在线观看 | 波多野结衣一区二区三区中文字幕 | 国产探花在线精品一区二区 | 国产91福利在线观看 | 一本久道久久综合久久爱 | 91丨porny丨露出| 亚洲精品第一国产综合亚av | 香蕉视频在线观看网址 | 嫩草亚洲| 亚洲精品综合网 | 国产成人久久婷婷精品流白浆 | 激情婷婷综合 | 黄色大片一区二区三区 | 性高潮免费视频 | 精品一区二区成人精品 | 91精品国产91久久久久久吃药 | a级黄色影院| 日本一级中文字幕久久久久久 | 在线麻豆av | 97久久超碰国产精品旧版麻豆 | 亚洲国产欧美自拍 | 日本视频www色 | 五月婷婷在线视频观看 | 亚洲a∨国产av综合av | 成人妇女淫片aaaa视频 | 国产情人综合久久777777 | 国产又粗又猛又爽又黄的视频软件 | 中国美女囗交视频免费看 | 国产最新自拍视频 | 亚洲福利在线播放 | 国产丝袜无码一区二区视频 | 午夜影视网| 国内精品国产三级国产在线专 | 国产激情二区 | 亚洲最大成人网 色香蕉 | 91亚洲精华国产精华液 | 欧美色偷偷亚洲天堂bt | 欧美肥老太牲交大战 | 国产精品免费_区二区三区观看 | 男人猛吃奶女人爽视频 |