成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

貓頭鷹的深夜翻譯:JDK Vs. JRE Vs. JVM之間的區(qū)別

blair / 1002人閱讀

摘要:什么是為執(zhí)行字節(jié)碼提供一個運行環(huán)境。它的實現(xiàn)主要包含三個部分,描述實現(xiàn)規(guī)格的文檔,具體實現(xiàn)和滿足要求的計算機程序以及實例具體執(zhí)行字節(jié)碼。該類先被轉(zhuǎn)化為一組字節(jié)碼并放入文件中。字節(jié)碼校驗器通過字節(jié)碼校驗器檢查格式并找出非法代碼。

什么是Java Development Kit (JDK)?

JDK通常用來開發(fā)Java應(yīng)用和插件?;旧峡梢哉J為是一個軟件開發(fā)環(huán)境。JDK包含Java Runtime Environment(JRE),JRE包含加載器/解釋器,編譯器(javac),文檔生成器(Javadoc),打包功能(jar)和其它在開發(fā)中所需要功能:

加載代碼

校驗代碼

執(zhí)行代碼

提供運行時環(huán)境

什么是Java Runtime Environment(JRE)

Java Runtime Environment(JRE)又稱為Java RTE。JRE中包含核心類和支持文件。它還包含JVM。JVM會提供運行時環(huán)境。

確定JVM運行的特定類型。其類型主要由Sun和其它的幾個機構(gòu)提供。

其實現(xiàn)是一個滿足JVM特定前提條件的客戶端程序。

運行時實例無論何時運行Java類,都會產(chǎn)生JVM。

JDK一個物理存在的工具包。它包含JRE和其他工具。

什么是Java Virtual Machine(JVM)

JVM為執(zhí)行Java字節(jié)碼提供一個運行環(huán)境。它是一個抽象的獨立于平臺運行的機器。它的實現(xiàn)主要包含三個部分,描述JVM實現(xiàn)規(guī)格的文檔,具體實現(xiàn)和滿足JVM要求的計算機程序以及實例(具體執(zhí)行Java字節(jié)碼)。

JVM的主要任務(wù)包括:

加載代碼

校驗代碼

執(zhí)行代碼

提供運行時環(huán)境

JDK, JRE和JVM之間的區(qū)別

JRE的組成

部署機制:Java Web Start, Java插件等

UI工具包:AWT,Swing,Java2D等

集成庫:IDL,JDBC,RMI等

其它基礎(chǔ)庫:I/O,JNI,JMX等

Lang和utils基礎(chǔ)庫:lang,util,格式化,序列化,打包等

JVM:Java HotSpot客戶端和服務(wù)端虛擬機

JRE功能

為了了解JRE的功能,可以看一下是如何加載Example.class這個類的。該類先被轉(zhuǎn)化為一組字節(jié)碼并放入.class文件中。

Java ClassLoader

ClassLoader將執(zhí)行程序所需的每個重要類放入堆棧中。它通過命名系統(tǒng)來提供彼此之間的安全性。源碼可以來自于硬盤,系統(tǒng)以及其它來源。

Java 字節(jié)碼校驗器

JVM通過字節(jié)碼校驗器檢查格式并找出非法代碼。校驗器確JVM執(zhí)行代碼時能夠夠快,以及這段代碼不會損害現(xiàn)存的框架。

Java解釋器

解釋器有兩個功能:

執(zhí)行字節(jié)碼

正確調(diào)用隱藏的設(shè)備


想要了解更多開發(fā)技術(shù),面試教程以及互聯(lián)網(wǎng)公司內(nèi)推,歡迎關(guān)注我的微信公眾號!將會不定期的發(fā)放福利哦~

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/72366.html

相關(guān)文章

  • 頭鷹深夜翻譯:為何需要緩存以及如何實現(xiàn)緩存

    摘要:由于需要跨進程訪問網(wǎng)絡(luò)上的高速緩存,因此延遲,故障和對象序列化會導(dǎo)致性能下降。應(yīng)用程序高速緩存會自動清除條目以保持其內(nèi)存占用。緩存統(tǒng)計高速緩存統(tǒng)計信息可幫助識別高速緩存的運行狀況并提供有關(guān)高速緩存行為和性能的信息。 前言 這篇文章探索了現(xiàn)有的各種JAVA緩存基數(shù),它們對各種場景下提高應(yīng)用的性能起著重要的作用。 近十年來,信息技術(shù)極高的提升了業(yè)務(wù)流程,它已經(jīng)成為了全球企業(yè)的戰(zhàn)略性方案。它...

    FuisonDesign 評論0 收藏0
  • 頭鷹深夜翻譯:Volatile原子性, 可見性和有序性

    摘要:有可能一個線程中的動作相對于另一個線程出現(xiàn)亂序。當實際輸出取決于線程交錯的結(jié)果時,這種情況被稱為競爭條件。這里的問題在于代碼塊不是原子性的,而且實例的變化對別的線程不可見。這種不能同時在多個線程上執(zhí)行的部分被稱為關(guān)鍵部分。 為什么要額外寫一篇文章來研究volatile呢?是因為這可能是并發(fā)中最令人困惑以及最被誤解的結(jié)構(gòu)。我看過不少解釋volatile的博客,但是大多數(shù)要么不完整,要么難...

    Lionad-Morotar 評論0 收藏0
  • 頭鷹深夜翻譯:Java 10JEP 286-局部變量類型推斷

    摘要:在此基礎(chǔ)上又向前邁進了一步局部變量類型推斷允許開發(fā)人員跳過局部變量的類型聲明局部變量是指在方法定義,初始化塊,循環(huán)和其它的如代碼塊,會推斷該局部變量的類型。 前言 之前面試的時候問了我是否了解JDK10的變化,一時回答不出來,所以只回答了JDK8中的函數(shù)式編程和流編程。今天看到這篇講JAVA10的文章,順便了解一下。 正文 JAVA10的所有新特性請參考這里。在所有的JEP中,JEP-...

    chavesgu 評論0 收藏0
  • 頭鷹深夜翻譯:在JVM上根據(jù)合約編程

    摘要:前言這周我準備介紹一個有趣的但是很少使用的方法按照合約編程,又稱為合約編程,是一種軟件設(shè)計的方法。這些規(guī)則被稱為合約,可以比擬為商業(yè)合同中的條件和義務(wù)。通過將檢查和異常拋出指令包裝到方法中,人們可以很容易地實現(xiàn)合約式編程。 前言 這周我準備介紹一個有趣的但是很少使用的方法 按照合約編程,又稱為合約編程,是一種軟件設(shè)計的方法。它規(guī)定了軟件設(shè)計師應(yīng)該為軟件組件定義正式,精確和可驗證的接口規(guī)...

    whatsns 評論0 收藏0
  • 頭鷹深夜翻譯:Java中CAS(Compare And Swap)

    摘要:否則它就會用新的值替代當前值。在這種情況下,鎖可能會優(yōu)于原子變量,但在實際的爭用級別中,原子變量的性能優(yōu)于鎖。在中引入了另外一個構(gòu)件。 題目要求 在我們深入了解CAS(Compare And Swap)策略以及它是如何在AtomicInteger這樣的原子構(gòu)造器中使用的,首先來看一下這段代碼: public class MyApp { private volatile int ...

    hosition 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<