更新時(shí)間:2021-11-15 12:04:44 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2022次
JDK(Java Development Kit)是Java語言的軟件開發(fā)工具包,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的Java應(yīng)用程序。JDK是整個(gè)java開發(fā)的核心,它包含了JAVA的運(yùn)行環(huán)境(JRE)和JAVA開發(fā)工具。沒有JDK的話,無法編譯Java程序(指java源碼.java文件)。
Oracle官網(wǎng):https://www.oracle.com/index.html
JDK1.8下載地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
提示:JDK包含了JRE,安裝時(shí)可以選擇不安裝JRE
驗(yàn)證——
在命令窗口(CMD)輸入:javac,輸入java -version查看版本信息。
JDK安裝根目錄,包括版權(quán)、許可證和READEME文件,還包含src.zip(源碼)記錄Java平臺(tái)檔案。
1. bin目錄: JDK開發(fā)工具的可執(zhí)行文件,因此設(shè)置PATH環(huán)境變量設(shè)置在此目錄。
2. include: 包含C語言頭文件,支持Java本地接口與Java虛擬機(jī)調(diào)試程序接口的本地編程技
術(shù)。
3. jre: Java 運(yùn)行時(shí)環(huán)境的根目錄,包含Java虛擬機(jī),運(yùn)行時(shí)的類包和Java應(yīng)用啟動(dòng)器。
4. lib目錄: 開發(fā)工具使用的歸檔包文件,如——
tools.jar:JDK的非核心工具支撐類;
dt.jar:告訴IDE設(shè)計(jì)時(shí)存檔如何顯示Java組件以及如何讓開發(fā)者自定義他們的應(yīng)用程
序;
ant-javafx.jar:包含Ant,用于打包JavaFX應(yīng)用程序。
javac:編譯器,將后綴名為.java的源代碼編譯成后綴名為“.class”的字節(jié)碼。
java:運(yùn)行工具,運(yùn)行.class的字節(jié)碼。
jar:打包工具,將相關(guān)的類文件打包成一個(gè)文件。
javadoc:文檔生成器,從源碼注釋中提取文檔,注釋需匹配規(guī)范。
jdb debugger:調(diào)試工具。
jps:顯示當(dāng)前java程序運(yùn)行的進(jìn)程狀態(tài)。
javap:反編譯程序。
appletviewer:運(yùn)行和調(diào)試applet程序的工具,不需要使用瀏覽器。
javah:從Java類生成C頭文件和C源文件。這些文件提供了連接膠合,使Java和C代碼可進(jìn)行交互。
javaws:運(yùn)行JNLP程序。
extcheck:一個(gè)檢測(cè)jar包沖突的工具。
apt:注釋處理工具。
jhat:java堆分析工具。
jstack:棧跟蹤程序。
jstat:JVM檢測(cè)統(tǒng)計(jì)工具。
jstatd:jstat守護(hù)進(jìn)程。
jinfo:獲取正在運(yùn)行或崩潰的java程序配置信息。
jmap:獲取java進(jìn)程內(nèi)存映射信息。
idlj:IDL-to-Java編譯器。將IDL語言轉(zhuǎn)化為java文件。
policytool:一個(gè)GUI的策略文件創(chuàng)建和管理工具。
jrunscript:命令行腳本運(yùn)行。
聯(lián)系——JVM不能單獨(dú)搞定class的執(zhí)行,解釋class的時(shí)候JVM需要調(diào)用解釋所需要的類庫(kù)lib。在JDK下面的的jre目錄里面有兩個(gè)文件夾bin和lib,在這里可以認(rèn)為bin里的就是jvm,lib中則是jvm工作所需要的類庫(kù),而jvm和lib和起來就稱為jre。JVM+lib=JRE。總體來說就是,我們利用JDK(調(diào)用JAVA API)開發(fā)了屬于我們自己的Java程序后,通過JDK中的編譯程序(javac)將我們的文本java文件編譯成Java字節(jié)碼,在JRE上運(yùn)行這些Java字節(jié)碼,JVM解析這些字節(jié)碼,映射到CPU指令集或OS的系統(tǒng)調(diào)用。
區(qū)別——
1. JDK和JRE區(qū)別:在bin文件夾下會(huì)發(fā)現(xiàn),JDK有javac.exe而JRE里面沒有,javac指令是用來將java文件編譯成class文件的,這是開發(fā)者需要的,而用戶(只需要運(yùn)行的人)是不需要的。JDK還有jar.exe, javadoc.exe等等用于開發(fā)的可執(zhí)行指令文件。這也證實(shí)了一個(gè)是開發(fā)環(huán)境,一個(gè)是運(yùn)行環(huán)境;
2. JRE和JVM區(qū)別:JVM并不代表就可以執(zhí)行class了,JVM執(zhí)行.class還需要JRE下的lib類庫(kù)的支持,尤其是rt.jar。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)