JDK, JRE 和JVM的區別

Java 開發工具包 (JDK)

Java開發工具包是Java環境的核心組件,並提供編譯、調試和運行一個Java程序所需的全部工具,可執行文件和二進制文件。JDK是一個平臺特定的軟件,有針對Windows,Mac和Unix系統的不一樣的安裝包。能夠說JDK是JRE的超集,它包含了JRE的Java編譯器,調試器和核心類。目前JDK的版本號是1.7,也被稱爲Java 7。 java

Java虛擬機(JVM)

JVM是Java編程語言的核心。當咱們運行一個程序時,JVM負責將字節碼轉換爲特定機器代碼。JVM也是平臺特定的,並提供核心的Java方法,例如內存管理、垃圾回收和安全機制等。JVM 是可定製化的,咱們能夠經過Java 選項(java options)定製它,好比配置JVM 內存的上下界。JVM之因此被稱爲虛擬的是由於它提供了一個不依賴於底層操做系統和機器硬件的接口。這種獨立於硬件和操做系統的特性正是Java程序能夠一次編寫多處執行的緣由。 編程

Java運行時環境(JRE)

JRE是JVM的實施實現,它提供了運行Java程序的平臺。JRE包含了JVM、Java二進制文件和其它成功執行程序的類文件。JRE不包含任何像Java編譯器、調試器之類的開發工具。若是你只是想要執行Java程序,你只需安裝JRE便可,沒有安裝JDK的必要。 安全

JDK, JRE 和JVM的區別

  • JDK是用於開發的而JRE是用於運行Java程序的。
  • JDK和JRE都包含了JVM,從而使得咱們能夠運行Java程序。
  • JVM是Java編程語言的核心而且具備平臺獨立性。

即時編譯器(JIT)

有時咱們會聽到JIT這個概念,並說它是JVM的一部分,這讓咱們很困惑。JIT是JVM的一部分,它能夠在同一時間編譯相似的字節碼來優化將字節碼轉換爲機器特定語言的過程類似的字節碼,從而將優化字節碼轉換爲機器特定語言的過程,這樣減小轉換過程所須要花費的時間。 編程語言

相關文章
相關標籤/搜索