JDK(java development kit)是什么 jdk有什么用

JDK是學(xué)好Java的第一步。不管是你要學(xué)習(xí)java編程,還是要搭建jsp web開(kāi)發(fā)環(huán)境,或者是android開(kāi)發(fā)環(huán)境都離不開(kāi)它。
jdk1.6,1.7,1.8安裝包:http://www.dbjr.com.cn/softs/325375.html
官方下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
什么是jdk?
1、jdk是什么呢?jdk的是java development kit的縮寫(xiě),意思是java程序開(kāi)發(fā)的工具包。也可以說(shuō)jdk是java的sdk。
JDK是 Java 語(yǔ)言的軟件開(kāi)發(fā)工具包,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序。JDK是整個(gè)java開(kāi)發(fā)的核心,它包含了JAVA的運(yùn)行環(huán)境,JAVA工具和JAVA基礎(chǔ)的類(lèi)庫(kù)。
JDK(Java Development Kit) 是 Java 語(yǔ)言的軟件開(kāi)發(fā)工具包(SDK)。
SE(J2SE),standard edition,標(biāo)準(zhǔn)版,是我們通常用的一個(gè)版本,從JDK 5.0開(kāi)始,改名為Java SE。
EE(J2EE),enterprise edition,企業(yè)版,使用這種JDK開(kāi)發(fā)J2EE應(yīng)用程序,從JDK 5.0開(kāi)始,改名為Java EE。
ME(J2ME),micro edition,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序,從JDK 5.0開(kāi)始,改名為Java ME。
沒(méi)有JDK的話,無(wú)法編譯Java程序,如果想只運(yùn)行Java程序,要確保已安裝相應(yīng)的JRE。
2、先來(lái)說(shuō)一下jdk的版本,一共有三種,標(biāo)準(zhǔn)版,企業(yè)版,移動(dòng)設(shè)備版。
3、不知道大家在網(wǎng)上看到Java SE 6.0和jdk1.6是不是一個(gè)頭兩個(gè)大呢,其實(shí)它們是同一個(gè)東西。因?yàn)閖dk從1.5版本開(kāi)始就改名為Java SE,我們通常使用的都是J2se也就是標(biāo)準(zhǔn)版的jdk。
4、什么是JRE?
普通用戶并不需要安裝JDK來(lái)運(yùn)行Java程序,而只需要安裝JRE(Java Runtime Environment)。而程序開(kāi)發(fā)者必須安裝JDK來(lái)編譯、調(diào)試程序。
5、什么是JDK?
顧名思義它是給開(kāi)發(fā)者提供的開(kāi)發(fā)工具箱,是給程序開(kāi)發(fā)者用的。它除了包括完整的JRE(Java Runtime Environment),Java運(yùn)行環(huán)境,還包含了其他供開(kāi)發(fā)者使用的工具包。
通過(guò)安裝Java SE 6.0理解jdk
1、我們安裝的jdk1.6,實(shí)際上現(xiàn)在的正確名稱(chēng)是 java se development kit 6,即java標(biāo)準(zhǔn)版的開(kāi)發(fā)工具包,版本為6.0。
2、我們看一下安裝好的目錄結(jié)構(gòu),進(jìn)入到安裝目錄,我們可以看到j(luò)re目錄,這是運(yùn)行java程序需要的。
3、進(jìn)入到安裝目錄的bin文件夾,我們可以看到之前我們提到的一些工具包,比如javac,javadoc等等。
jdk和jre的區(qū)別
大家肯定在安裝JDK的時(shí)候會(huì)有選擇是否安裝單獨(dú)的jre,一般都會(huì)一起安裝,我也建議大家這樣做。
因?yàn)檫@樣更能幫助大家弄清楚它們的區(qū)別:
Jre 是Java runtime environment, 是java程序的運(yùn)行環(huán)境。既然是運(yùn)行,當(dāng)然要包含jvm,也就是大家熟悉的虛擬機(jī)啦, 還有所有java類(lèi)庫(kù)的class文件,都在lib目錄下打包成了jar。大家可以自己驗(yàn)證。至于在windows上的虛擬機(jī)是哪個(gè)文件呢? 學(xué)過(guò)MFC的都知道什么是dll文件吧,那么大家看看jre/bin/client里面是不是有一個(gè)jvm.dll呢?那就是虛擬機(jī)。
Jdk 是java development kit,是java的開(kāi)發(fā)工具包,里面包含了各種類(lèi)庫(kù)和工具。當(dāng)然也包括了另外一個(gè)Jre. 那么為什么要包括另外一個(gè)Jre呢?而且jdk/jre/bin同時(shí)有client和server兩個(gè)文件夾下都包含一個(gè)jvm.dll。 說(shuō)明是有兩個(gè)虛擬機(jī)的。這一點(diǎn)不知道大家是否注意到了呢?
相信大家都知道jdk的bin下有各種java程序需要用到的命令,與jre的bin目錄最明顯的區(qū)別就是jdk下才有javac,這一點(diǎn)很好理解,因?yàn)?jre只是一個(gè)運(yùn)行環(huán)境而已。與開(kāi)發(fā)無(wú)關(guān),正因?yàn)槿绱耍邆溟_(kāi)發(fā)功能的jdk自己的jre下才會(huì)同時(shí)有client性質(zhì)的jvm和server性質(zhì)的 jvm, 而僅僅作為運(yùn)行環(huán)境的jre下只需要client性質(zhì)的jvm.dll就夠了。
記得在環(huán)境變量path中設(shè)置jdk/bin路徑麼?這應(yīng)該是大家學(xué)習(xí)Java的第一步吧, 老師會(huì)告訴大家不設(shè)置的話javac和java是用不了的。確實(shí)jdk/bin目錄下包含了所有的命令??墒怯袥](méi)有人想過(guò)我們用的java命令并不是 jdk/bin目錄下的而是jre/bin目錄下的呢?不信可以做一個(gè)實(shí)驗(yàn),大家可以把jdk/bin目錄下的java.exe剪切到別的地方再運(yùn)行 java程序,發(fā)現(xiàn)了什么?一切OK!
那么有人會(huì)問(wèn)了?我明明沒(méi)有設(shè)置jre/bin目錄到環(huán)境變量中啊?
試想一下如果java為了提供給大多數(shù)人使用,他們是不需要jdk做開(kāi)發(fā)的,只需要jre能讓java程序跑起來(lái)就可以了,那么每個(gè)客戶還需要手動(dòng)去設(shè)置環(huán)境變量多麻煩???所以安裝jre的時(shí)候安裝程序自動(dòng)幫你把jre的java.exe添加到了系統(tǒng)變量中,驗(yàn)證的方法很簡(jiǎn)單,大家看到了系統(tǒng)環(huán)境變量的 path最前面有“%SystemRoot%/system32;%SystemRoot%;”這樣的配置,那么再去Windows/system32下面去看看吧,發(fā)現(xiàn)了什么?有一個(gè)java.exe。
如果強(qiáng)行能夠把jdk/bin挪到system32變量前面,當(dāng)然也可以迫使使用jdk/jre里面的java,不過(guò)除非有必要,我不建議大家這么做。使用單獨(dú)的jre跑java程序也算是客戶環(huán)境下的一種測(cè)試。
這下大家應(yīng)該更清楚jdk和jre內(nèi)部的一些聯(lián)系和區(qū)別了吧?
相關(guān)文章
電腦提示找不到libcef.dll無(wú)法繼續(xù)執(zhí)行代碼怎么辦? libcef.dll丟失修復(fù)
在使用電腦的過(guò)程中,你可能會(huì)突然遇到諸如“找不到libcef.dll”或者“由于缺少libcef.dll,程序無(wú)法啟動(dòng)”之類(lèi)的惱人提示,下面我們就來(lái)看看詳細(xì)解決辦法2025-04-23電腦提示由于找不到d3dx9_43.dll如何解決? d3dx9_43.dll文件丟失修復(fù)技
在使用Windows操作系統(tǒng)運(yùn)行某些應(yīng)用程序(尤其是游戲或圖形密集型軟件)時(shí),用戶可能會(huì)遇到“d3dx9_43.dll文件丟失”的錯(cuò)誤提示,這一錯(cuò)誤不僅影響程序的正常啟動(dòng),還可能2025-04-23電腦死機(jī)無(wú)反應(yīng)怎么強(qiáng)制重啟? 一文讀懂方法及注意事項(xiàng)
在日常使用電腦的過(guò)程中,我們難免會(huì)遇到電腦無(wú)法正常啟動(dòng)的情況,本文將詳細(xì)介紹幾種常見(jiàn)的電腦強(qiáng)制開(kāi)機(jī)方法,并探討在強(qiáng)制開(kāi)機(jī)后應(yīng)注意的事項(xiàng),以及如何從根本上解決電腦2025-04-16電腦如何通過(guò)數(shù)據(jù)線連接手機(jī)網(wǎng)絡(luò)? 電腦上網(wǎng)不再受限的技巧
今天我來(lái)分享一下如何用USB線把臺(tái)式電腦連接到手機(jī)的網(wǎng)絡(luò)上,其實(shí)操作非常簡(jiǎn)單,只需要幾步就搞定了,讓我們一起來(lái)看看吧2025-04-15分辨率三兄弟LPI、DPI 和 PPI有什么區(qū)別? 搞清分辨率的那些事兒
分辨率這個(gè)東西,真的是讓人又愛(ài)又恨,為了搞清楚它,我可是翻閱了不少資料,最后發(fā)現(xiàn)“小7的背包”的解釋最讓我茅塞頓開(kāi),于是,我決定整理一下,給大家分享一下我的理解2025-04-03空格符號(hào)怎么打? 全角空格和半角空格的區(qū)別介紹
你是否曾想過(guò),為什么鍵盤(pán)上的空格鍵有時(shí)并不能滿足我們的需求?其實(shí),空格鍵輸入的空格分為全角和半角兩種2025-03-31mss32.dll文件丟失怎么辦? 電腦提示mss32.dll丟失的多種修復(fù)方法
最近,很多電腦用戶可能遇到了mss32.dll文件丟失的問(wèn)題,導(dǎo)致一些應(yīng)用程序無(wú)法正常啟動(dòng),那么,如何修復(fù)這個(gè)問(wèn)題呢?別擔(dān)心,本文將詳細(xì)介紹mss32.dll文件的作用和丟失原因2025-03-26電腦提示找不到openal32.dll文件怎么辦? openal32.dll丟失完美修復(fù)方法
openal32.dll是一種重要的系統(tǒng)文件,當(dāng)它丟失時(shí),會(huì)給我們的電腦帶來(lái)很大的困擾,很多人都曾經(jīng)遇到過(guò)這個(gè)問(wèn)題,但你知道該如何解決嗎?詳細(xì)請(qǐng)看下文介紹2025-03-26電腦win32spl.dll文件丟失咋辦? win32spl.dll丟失無(wú)法連接打印機(jī)修復(fù)技
電腦突然提示win32spl.dll文件丟失,打印機(jī)死活連不上,今天就來(lái)給大家詳細(xì)講解一下這個(gè)問(wèn)題的解決方法,手把手教你如何搞定win32spl.dll丟失的問(wèn)題,讓你輕松恢復(fù)打印機(jī)連2025-03-26電腦提示binkw32.dll缺失怎么辦? 教你輕松解決binkw32.dll丟失問(wèn)題修復(fù)
電腦上玩游戲時(shí),突然彈出“計(jì)算機(jī)丟失binkw32.dll”的錯(cuò)誤提示,是不是讓你瞬間抓狂?別擔(dān)心,今天就來(lái)手把手教你如何解決這個(gè)問(wèn)題2025-03-26