Java概述(三)
什么是JVM、JDK、JRE?
JVM、JDK 和 JRE 有什么聯(lián)系和區(qū)別?
JVM
JVM(Java Virtual Machine,Java虛擬機)是一種具備計算機核心配置的計算環(huán)境,在實際的計算機上虛擬計算機各種運算功能,有自己完善的架構(gòu),如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。且JVM屏蔽了與具體操作系統(tǒng)平臺相關(guān)的信息,使得Java程序只需生成在Java虛擬機上運行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺上不加修改地運行。
JRE
JRE(Java Runtime Environment,Java運行環(huán)境)是運行JAVA程序所必須的環(huán)境,包含JVM標(biāo)準(zhǔn)實現(xiàn)及Java核心類庫,如果只需要運行Java程序,安裝JRE即可。
JDK
JDK(Java Development Kit , Java開發(fā)工具包)JDK=JRE+Java的開發(fā)工具[java, javac,javadoc,javap 等],JDK是提供給程序員開發(fā)Java程序的開發(fā)工具包,開發(fā)Java程序前必須安裝JDK,包含了Java的開發(fā)工具,也包括了JRE,所以安裝了JDK,就不用再安裝JRE。
聯(lián)系:
JDK 包含了 JRE,同時還包含了編譯 java 源碼的編譯器 javac,還包含了很多 java 程序調(diào)試和分析的工具。JDK下的jre文件夾下有倆個文件夾lib和bin;可以理解為bin就是jvm,lib就是類庫;所以JRE=JVM+類庫;利用JDK開發(fā)java程序,javac編譯成字節(jié)碼,在JRE上運行字節(jié)碼,JVM解析字節(jié)碼,最終映射到CPU指令集或OS的系統(tǒng)調(diào)用。
區(qū)別:
JDK與JRE的區(qū)別:
(1)JDK有javac.exe;JRE沒有
(2)JDK是開發(fā)環(huán)境,JRE是運行環(huán)境
JRE與JVM的區(qū)別:
JVM執(zhí)行.class需要JRE下lib類庫的支持(尤其是rt.jar)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關(guān)推薦
/etc/profile添加以下內(nèi)容JAVA_HOME=/home/tool/jdk1.7.0_60JRE_HOME=/home/tool/jdk1.7.0_60/jrePATH=$JAVA_HOME
發(fā)表于 03-05 15:12
1、把jdk-8u5-linux-x64.gz解壓,然后把解壓的文件夾放到/usr/lib/jvm/下,并重命名為jdk,這個目錄可以自定義。2、編輯~/.basrc文件,在文件的末尾追加下面的命令
發(fā)表于 09-25 16:43
java 7export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64export JRE_HOME=/usr/lib/jvm
發(fā)表于 09-28 11:50
了!JDK、J2EE、J2SE、J2ME之間的關(guān)系和區(qū)別就向你介紹到這里,希望對你理解JDK、J2EE、J2SE、J2ME之間的概念有所幫助。很多程序員已經(jīng)干了一段時間java了依然不明白jd
發(fā)表于 07-10 08:28
:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/binjava -version的時候發(fā)現(xiàn)還是舊版本的jdk.
發(fā)表于 07-11 06:44
本編文章是針對Linux安裝JDK10版本編寫。 環(huán)境:Red Hat/CentOS/Fedora/Ubuntu等Linux發(fā)行版。 下載jdk和jre:jdk10.0.1,
發(fā)表于 07-25 08:25
Java 是用于構(gòu)建各種應(yīng)用程序和系統(tǒng)的最流行的編程語言之一。Java 有兩種不同的實現(xiàn),Oracle Java 和 OpenJDK。其中 OpenJDK 是 Java 平臺的開源實現(xiàn)
發(fā)表于 02-02 16:37
將jvm移植在Linux環(huán)境上,ubuntu或centos上,并成功用JVM運行Java程序在命令行里面輸出hello world。通過所需要運行的java程序所需要的依賴配置來生成所對應(yīng)的jre
發(fā)表于 12-23 06:27
/jdk1.7.0_79 # 注意和安裝路徑一致export JRE_HOME=/home/niuyi/rk3288src/package/jdk1.7.0_79/jreexport CLASSPATH
發(fā)表于 08-11 17:29
進行分析和解決,不過這些需要對基礎(chǔ)工具熟練使用才行,而很多JDK自身的能力又是經(jīng)常被忽略的;在jdk的bin目錄中,有很多自帶工具可以用于對JVM的分析;上述是基于
發(fā)表于 11-16 15:30
當(dāng)程序中的所有非守護線程都終止時,JVM才退出;若安全管理器允許,程序也可以使用Runtime類或者System.exit()來退出。
發(fā)表于 04-25 11:51
?5593次閱讀
通常來說 Java平臺標(biāo)準(zhǔn)版(Java SE)包括 Java SE開發(fā)工具包(JDK)和Java SE運行時環(huán)境(JRE)。 JRE提供了運行以Java編程語言編寫的applet和應(yīng)用程序所必需的庫
發(fā)表于 10-10 11:37
?406次閱讀
JVM調(diào)優(yōu)是提高Java應(yīng)用程序性能的重要手段,而JVM調(diào)優(yōu)工具則是輔助開發(fā)人員進行調(diào)優(yōu)工作的利器。下面將介紹一些常用的JVM調(diào)優(yōu)工具。 JConsole JConsole是JDK自帶
發(fā)表于 12-05 11:44
?1004次閱讀
程序中的內(nèi)存訪問規(guī)則。盡管 JVM 和 JMM 有許多共同點,但它們也有一些顯著的區(qū)別。本文將詳細介紹 JVM 和 JMM 的區(qū)別,幫助讀者
發(fā)表于 12-05 14:27
?1263次閱讀
。它包含了Java編譯器(javac)、Java運行時環(huán)境(JRE)、Java虛擬機(JVM)等關(guān)鍵組件。在WebLogic中,JDK的路徑?jīng)Q定了WebLogic的運行環(huán)境。 二、確定
發(fā)表于 12-05 14:46
?1219次閱讀
評論