什么是JDK?JDK和jJRE內部的一些聯(lián)系和區(qū)別
- IT百科
- 2021-03-11 16:53:20
JDK是學好Java的第一步。不管是你要學習java編程,還是要搭建jsp web開發(fā)環(huán)境,或者是android開發(fā)環(huán)境都離不開它。
什么是jdk
1、jdk是什么呢?jdk的是java development kit的縮寫,意思是java程序開發(fā)的工具包。也可以說jdk是java的sdk。
JDK是 Java 語言的軟件開發(fā)工具包,主要用于移動設備、嵌入式設備上的java應用程序。JDK是整個java開發(fā)的核心,它包含了JAVA的運行環(huán)境,JAVA工具和JAVA基礎的類庫。
JDK(Java Development Kit) 是 Java 語言的軟件開發(fā)工具包(SDK)。
SE(J2SE),standard edition,標準版,是我們通常用的一個版本,從JDK 5.0開始,改名為Java SE。
EE(J2EE),enterprise edition,企業(yè)版,使用這種JDK開發(fā)J2EE應用程序,從JDK 5.0開始,改名為Java EE。
ME(J2ME),micro edition,主要用于移動設備、嵌入式設備上的java應用程序,從JDK 5.0開始,改名為Java ME。
沒有JDK的話,無法編譯Java程序,如果想只運行Java程序,要確保已安裝相應的JRE。
2、先來說一下jdk的版本,一共有三種,標準版,企業(yè)版,移動設備版。
3、不知道大家看到Java SE 6.0和jdk1.6是不是一個頭兩個大呢,其實它們是同一個東西。因為jdk從1.5版本開始就改名為Java SE,通常使用的都是J2se也就是標準版的jdk。
4、什么是JRE?
普通用戶并不需要安裝JDK來運行Java程序,而只需要安裝JRE(Java Runtime Environment)。而程序開發(fā)者必須安裝JDK來編譯、調試程序。
5、什么是JDK?
顧名思義它是給開發(fā)者提供的開發(fā)工具箱,是給程序開發(fā)者用的。它除了包括完整的JRE(Java Runtime Environment),Java運行環(huán)境,還包含了其他供開發(fā)者使用的工具包。
通過安裝Java SE 6.0理解jdk
1、安裝的jdk1.6,實際上現(xiàn)在的正確名稱是 java se development kit 6,即java標準版的開發(fā)工具包,版本為6.0。
2、看一下安裝好的目錄結構,進入到安裝目錄,可以看到jre目錄,這是運行java程序需要的。
3、進入到安裝目錄的bin文件夾,我們可以看到之前我們提到的一些工具包,比如javac,javadoc等等。
jdk和jre的區(qū)別
大家肯定在安裝JDK的時候會有選擇是否安裝單獨的jre,一般都會一起安裝,也建議大家這樣做。
因為這樣更能幫助大家弄清楚它們的區(qū)別:
Jre 是Java runtime environment, 是java程序的運行環(huán)境。既然是運行,當然要包含jvm,也就是大家熟悉的虛擬機,還有所有java類庫的class文件,都在lib目錄下打包成了jar。大家可以自己驗證。
Jdk 是java development kit,是java的開發(fā)工具包,里面包含了各種類庫和工具。當然也包括了另外一個Jre. 那么為什么要包括另外一個Jre呢?而且jdk/jre/bin同時有client和server兩個文件夾下都包含一個jvm.dll。說明是有兩個虛擬機的。
相信大家都知道jdk的bin下有各種java程序需要用到的命令,與jre的bin目錄最明顯的區(qū)別就是jdk下才有javac,這一點很好理解,因為 jre只是一個運行環(huán)境而已。與開發(fā)無關,正因為如此,具備開發(fā)功能的jdk自己的jre下才會同時有client性質的jvm和server性質的 jvm,而僅僅作為運行環(huán)境的jre下只需要client性質的jvm.dll就夠了。
記得在環(huán)境變量path中設置jdk/bin路徑麼?這應該是大家學習Java的第一步吧,老師會告訴大家不設置的話javac和java是用不了的。確實jdk/bin目錄下包含了所有的命令??墒怯袥]有人想過用的java命令并不是 jdk/bin目錄下的而是jre/bin目錄下的呢?不信可以做一個實驗,大家可以把jdk/bin目錄下的java.exe剪切到別的地方再運行java程序,發(fā)現(xiàn)了什么?一切OK!
那么有人會問了?明明沒有設置jre/bin目錄到環(huán)境變量中。
試想一下如果java為了提供給大多數(shù)人使用,他們是不需要jdk做開發(fā)的,只需要jre能讓java程序跑起來就可以了,那么每個客戶還需要手動去設置環(huán)境變量多麻煩,所以安裝jre的時候安裝程序自動幫你把jre的java.exe添加到了系統(tǒng)變量中,驗證的方法很簡單,大家看到了系統(tǒng)環(huán)境變量的 path最前面有“%SystemRoot%/system32;%SystemRoot%;”這樣的配置,那么再去Windows/system32下面去看看吧,發(fā)現(xiàn)了什么?有一個java.exe。
如果強行能夠把jdk/bin挪到system32變量前面,當然也可以迫使使用jdk/jre里面的java,不過除非有必要,不建議大家這么做。使用單獨的jre跑java程序也算是客戶環(huán)境下的一種測試。
這下大家應該更清楚jdk和jre內部的一些聯(lián)系和區(qū)別了吧?
全國榮譽公示!福建這些縣(市、區(qū))上榜-新要聞
- 福建兩地為困難群體免費發(fā)放“暖心防疫包”
- 元旦假期南鐵預計發(fā)送旅客146萬人次,福建各車站有何舉措?|焦點快報
- 天天簡訊:《福建省公安機關警務輔助人員管理條例》將于1月1日起施行
- 滾動:福建:101個科技計劃項目獲省財政補助
- 組考防疫“不落一人” 福建順利實現(xiàn)平安研考:環(huán)球時訊
- 福建:和美鄉(xiāng)村建設再“上新”-世界熱資訊
- 福建:站點盡在“掌握” 服務觸手可及_天天熱推薦
- 今年福建農村建設品質提升任務全面完成-快報
- 全球今頭條!2022年中國福建人才創(chuàng)業(yè)周啟動 聚焦高層次人才創(chuàng)業(yè)創(chuàng)新
- 低溫天氣對健康有哪些危害?如何健康度過寒2022-12-30
- 為維護年末流動性平穩(wěn) 央行連續(xù)開展逆回購2022-12-30
- 藍領群體就業(yè)呈現(xiàn)新趨勢 直播招聘成求職新2022-12-30
- 2021年全國平均工資多少?哪兒的人最能“花2022-12-30
- 聞雞起舞的歷史人物是誰?聞雞起舞的聞是什2022-12-30
- 知網是做什么的?知網是國企還是私企?知網2022-12-30
- 絲綢之路的意義是什么?絲綢之路的起點和終2022-12-30
- 兩寸照片的尺寸是多少?手機怎么調整照片二2022-12-30
- 不為五斗米不折腰是誰?不為五斗米不折腰的2022-12-30
- Z開頭的火車是什么車?z和t開頭的火車的區(qū)2022-12-30
- 自由落體速度每秒多少米?自由落體速度與質2022-12-30
- 哈爾濱特產有哪些?哈爾濱特色十大名小吃都2022-12-30
- 觀速訊丨實用版藥品代理合同模板分享 實用2022-12-30
- 我的樂園作文怎么寫 我的樂園作文范文欣賞2022-12-30
- 小學數(shù)學三年級下冊第一單元測驗卷分享 小2022-12-30
- 環(huán)球快看:母親節(jié)活動主題標語有哪些 母親2022-12-30
- 挽留愛情的句子有哪些 挽留愛情的句子合集2022-12-30
- 滾動:教師節(jié)賀卡手工制作教程介紹 教師節(jié)2022-12-30
- 《六月二十七日望湖樓醉書》譯文是什么 《2022-12-30
- 【世界快播報】移動端網頁設計方法有哪些 2022-12-30
- 孩子夏令營注意事項主要有哪些 孩子夏令營2022-12-30
- 當前快看:筆記本硬盤常見故障有哪些 筆記2022-12-30
- 英語常用單詞有哪些 英語常用單詞翻譯合集2022-12-30
- 初一英語要點知識歸納總結 初一英語要點知2022-12-30
- 藝考鋼琴考試有哪些注意事項 藝考鋼琴考試2022-12-30
- 今日關注:什么是產品三維動畫 產品三維動2022-12-30
- 移動通信營銷推廣方案是什么 移動通信營2022-12-30
- 招聘流程管理制度怎么制定 招聘流程管理制2022-12-30
- 每日聚焦:測試工程師崗位職責是什么 測試2022-12-30
- 世界熱議:小升初語文試卷及答案參考 小升2022-12-30