java jli.dll_JVM、JRE、JDK之间的区别和联系,你居然还不知道?
JDK包含了JRE,JRE包含了JVMJDK:java開發(fā)工具包,針對java開發(fā)人員,可以編譯運(yùn)行java程序
JRE:java運(yùn)行時環(huán)境,針對使用java程序的客戶,可以運(yùn)行字節(jié)碼(.class),但是不能編譯Java源碼
JVM:用來解釋執(zhí)行字節(jié)碼文件(.class),但不能正確的執(zhí)行
什么是JVM
JVM是JRE的一部分,是虛擬出來的一臺計算機(jī).通過實體計算機(jī)仿真各種計算功能來實現(xiàn),JVM有自己完善的硬件架構(gòu),如處理器,堆棧,寄存器等,還有相應(yīng)的指令集.JVM是Java跨平臺的核心,Java程序通過JVM的跨平臺,從而使Java程序跨平臺.Java程序首選會被編譯成字節(jié)碼文件(.class),JVM的核心任務(wù)就是解釋字節(jié)碼文件(.class)并映射到真實CPU指令集或者系統(tǒng)調(diào)用.JVM不關(guān)系上層Java程序,只關(guān)系字節(jié)碼(.class).
什么是JRE
JRE是Java運(yùn)行環(huán)境,所有Java程序必須依賴JRE才能運(yùn)行.只有JVM是不能運(yùn)行字節(jié)碼文件的(.class),因為解釋的字節(jié)碼的時候需要lib庫. JRE里面有兩個文件夾 bin/ , lib/ 。 bin/ 就是JVM, lib 就是JVM所需要庫。JVM+ lib =JRE
什么是JDK
JDK是Java的核心,包含運(yùn)行Java運(yùn)行環(huán)境(JRE)和一些Java工具及Java基礎(chǔ)類庫 。
JDK提供的工具
appletviewer.exe* java-rmi.exe* jrunscript.exe* policytool.exe*
extcheck.exe* javaw.exe* jsadebugd.exe* rmic.exe*
idlj.exe* javaws.exe* jstack.exe* rmid.exe*
jabswitch.exe* jcmd.exe* jstat.exe* rmiregistry.exe*
jar.exe* jconsole.exe* jstatd.exe* schemagen.exe*
jarsigner.exe* jdb.exe* jvisualvm.exe* serialver.exe*
java.exe* jdeps.exe* keytool.exe* servertool.exe*
javac.exe* jhat.exe* kinit.exe* tnameserv.exe*
javadoc.exe* jinfo.exe* klist.exe* unpack200.exe*
javafxpackager.exe* jjs.exe* ktab.exe* vcruntime140.dll*
javah.exe* jli.dll* native2ascii.exe* wsgen.exe*
javap.exe* jmap.exe* orbd.exe* wsimport.exe*
javapackager.exe* jps.exe* pack200.exe* xjc.exe*
Java Api是Java的應(yīng)用程序接口,里面有很多寫好的Java Class,包含一些重要的語法結(jié)構(gòu)以及基本圖形,網(wǎng)絡(luò)和文件IO,我們可以直接調(diào)用。
總結(jié)有JVM和lib庫(JRE)就可以執(zhí)行字節(jié)碼(.class)文件(Java程序)
有JRE可以運(yùn)行(Java程序)但是還不能開發(fā)Java程序,需要JDK(JRE+開發(fā)工具)才可以
windows 安裝jdk
會發(fā)現(xiàn)有兩個目錄,其實只需要 jdk1.8.0_91 就可以,里面包好了jre, jre1.8.0_91 是JDK單獨提供一個一個運(yùn)行環(huán)境
兩個目錄jre的區(qū)別相同點:這兩個JRE都可以作為Java程序的運(yùn)行環(huán)境
不同點:JDK只能使用自己目錄自帶的JRE,不能使用外面單獨安裝的JRE
開發(fā)到運(yùn)行
安裝JDK環(huán)境,調(diào)用本地的Java api完成業(yè)務(wù)代碼,通過JDK的編譯器(javac)編譯成字節(jié)碼(.class),然后在JRE上運(yùn)行這些JAVA字節(jié)碼,JVM解釋這些字節(jié)碼,映射到CPU指令集或者系統(tǒng)調(diào)用。
總結(jié)
以上是生活随笔為你收集整理的java jli.dll_JVM、JRE、JDK之间的区别和联系,你居然还不知道?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 借呗怎么开通?没有借呗开通入口怎么办?
- 下一篇: java 列表展开方式_android列