摘要:什么是為執行字節碼提供一個運行環境。它的實現主要包含三個部分,描述實現規格的文檔,具體實現和滿足要求的計算機程序以及實例具體執行字節碼。該類先被轉化為一組字節碼并放入文件中。字節碼校驗器通過字節碼校驗器檢查格式并找出非法代碼。
什么是Java Development Kit (JDK)?
JDK通常用來開發Java應用和插件。基本上可以認為是一個軟件開發環境。JDK包含Java Runtime Environment(JRE),JRE包含加載器/解釋器,編譯器(javac),文檔生成器(Javadoc),打包功能(jar)和其它在開發中所需要功能:
加載代碼
校驗代碼
執行代碼
提供運行時環境
什么是Java Runtime Environment(JRE)Java Runtime Environment(JRE)又稱為Java RTE。JRE中包含核心類和支持文件。它還包含JVM。JVM會提供運行時環境。
確定JVM運行的特定類型。其類型主要由Sun和其它的幾個機構提供。
其實現是一個滿足JVM特定前提條件的客戶端程序。
運行時實例無論何時運行Java類,都會產生JVM。
JDK一個物理存在的工具包。它包含JRE和其他工具。
什么是Java Virtual Machine(JVM)JVM為執行Java字節碼提供一個運行環境。它是一個抽象的獨立于平臺運行的機器。它的實現主要包含三個部分,描述JVM實現規格的文檔,具體實現和滿足JVM要求的計算機程序以及實例(具體執行Java字節碼)。
JVM的主要任務包括:
加載代碼
校驗代碼
執行代碼
提供運行時環境
JDK, JRE和JVM之間的區別 JRE的組成部署機制:Java Web Start, Java插件等
UI工具包:AWT,Swing,Java2D等
集成庫:IDL,JDBC,RMI等
其它基礎庫:I/O,JNI,JMX等
Lang和utils基礎庫:lang,util,格式化,序列化,打包等
JVM:Java HotSpot客戶端和服務端虛擬機
JRE功能為了了解JRE的功能,可以看一下是如何加載Example.class這個類的。該類先被轉化為一組字節碼并放入.class文件中。
Java ClassLoaderClassLoader將執行程序所需的每個重要類放入堆棧中。它通過命名系統來提供彼此之間的安全性。源碼可以來自于硬盤,系統以及其它來源。
Java 字節碼校驗器JVM通過字節碼校驗器檢查格式并找出非法代碼。校驗器確JVM執行代碼時能夠夠快,以及這段代碼不會損害現存的框架。
Java解釋器解釋器有兩個功能:
執行字節碼
正確調用隱藏的設備
想要了解更多開發技術,面試教程以及互聯網公司內推,歡迎關注我的微信公眾號!將會不定期的發放福利哦~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72366.html
摘要:由于需要跨進程訪問網絡上的高速緩存,因此延遲,故障和對象序列化會導致性能下降。應用程序高速緩存會自動清除條目以保持其內存占用。緩存統計高速緩存統計信息可幫助識別高速緩存的運行狀況并提供有關高速緩存行為和性能的信息。 前言 這篇文章探索了現有的各種JAVA緩存基數,它們對各種場景下提高應用的性能起著重要的作用。 近十年來,信息技術極高的提升了業務流程,它已經成為了全球企業的戰略性方案。它...
摘要:有可能一個線程中的動作相對于另一個線程出現亂序。當實際輸出取決于線程交錯的結果時,這種情況被稱為競爭條件。這里的問題在于代碼塊不是原子性的,而且實例的變化對別的線程不可見。這種不能同時在多個線程上執行的部分被稱為關鍵部分。 為什么要額外寫一篇文章來研究volatile呢?是因為這可能是并發中最令人困惑以及最被誤解的結構。我看過不少解釋volatile的博客,但是大多數要么不完整,要么難...
摘要:在此基礎上又向前邁進了一步局部變量類型推斷允許開發人員跳過局部變量的類型聲明局部變量是指在方法定義,初始化塊,循環和其它的如代碼塊,會推斷該局部變量的類型。 前言 之前面試的時候問了我是否了解JDK10的變化,一時回答不出來,所以只回答了JDK8中的函數式編程和流編程。今天看到這篇講JAVA10的文章,順便了解一下。 正文 JAVA10的所有新特性請參考這里。在所有的JEP中,JEP-...
摘要:前言這周我準備介紹一個有趣的但是很少使用的方法按照合約編程,又稱為合約編程,是一種軟件設計的方法。這些規則被稱為合約,可以比擬為商業合同中的條件和義務。通過將檢查和異常拋出指令包裝到方法中,人們可以很容易地實現合約式編程。 前言 這周我準備介紹一個有趣的但是很少使用的方法 按照合約編程,又稱為合約編程,是一種軟件設計的方法。它規定了軟件設計師應該為軟件組件定義正式,精確和可驗證的接口規...
摘要:否則它就會用新的值替代當前值。在這種情況下,鎖可能會優于原子變量,但在實際的爭用級別中,原子變量的性能優于鎖。在中引入了另外一個構件。 題目要求 在我們深入了解CAS(Compare And Swap)策略以及它是如何在AtomicInteger這樣的原子構造器中使用的,首先來看一下這段代碼: public class MyApp { private volatile int ...
閱讀 1446·2021-09-22 15:43
閱讀 2161·2019-08-30 15:54
閱讀 1162·2019-08-30 10:51
閱讀 2087·2019-08-29 18:35
閱讀 433·2019-08-26 11:58
閱讀 2481·2019-08-26 11:38
閱讀 2439·2019-08-23 18:35
閱讀 3633·2019-08-23 18:33