java sdk和jdk有什么區(qū)別呢?
一、java sdk和jdk的區(qū)別
SDK是Software Development Kit的縮寫,中文意思是“軟件開發(fā)工具包”。這是一個(gè)覆蓋面相當(dāng)廣泛的名詞,可以這么說:輔助開發(fā)某一類軟件的相關(guān)文檔、范例和工具的集合都可以叫做“SDK”。SDK是一系列文件的組合,它為軟件的開發(fā)提供一個(gè)平臺(tái)(它為軟件開發(fā)使用各種API提供便利)。
JDK(Java Development Kit,Java開發(fā)工具包)是Sun Microsystems針對(duì)Java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用較廣泛的Java SDK(Software development kit)。
可以認(rèn)為jdk只是sdk的一種(子集),因?yàn)樗情_發(fā)java程序的一個(gè)平臺(tái),開發(fā)其他程序的sdk可以沒有jdk。
jdk。
比如你下載了一個(gè)軟件開發(fā)平臺(tái) eclipse-SDK-3.2.2-win32.zip,它本身里面是沒有jdk的。
但是只要開發(fā)java程序就必須使用jdk(javaee和javase)。
我來打個(gè)比方吧:
SDK就像一臺(tái)機(jī)床(它可以是多用途的),它可以生產(chǎn)ABC等工件;
當(dāng)我們要生產(chǎn)A時(shí),就給機(jī)床換上生產(chǎn)A的刀具a;
當(dāng)我們要生產(chǎn)B時(shí)就換上生產(chǎn)B的刀具b;
當(dāng)我們要生產(chǎn)C時(shí)就換上生產(chǎn)C的刀具c;
當(dāng)我們要用機(jī)床(SDK)生產(chǎn)java程序時(shí),我們就給機(jī)床換上刀具jdk,于是就把安裝了jdk的SDK叫做java SDK.
JavaEE是專門為企業(yè)級(jí)應(yīng)用提供的一個(gè)開發(fā)工具包,它里面已經(jīng)包含了許多開發(fā)企業(yè)級(jí)應(yīng)用所需要的“組件”,它為J2EE的開發(fā)提供了一個(gè)便利的開發(fā)平臺(tái),所以它就直接叫JavaEE SDK了。
不知道說明白了沒有,都是些概念性的東西,其實(shí)你也可以理解jdk就是java SDK。
延伸閱讀:
二、為什么Sun要讓JDK安裝兩套相同的JRE
這是因?yàn)镴DK里面有很多用Java所編寫的開發(fā)工具(如javac.exe、jar.exe等),而且都放置在 \lib\tools.jar 里。從下面例子可以看出,先將tools.jar改名為tools1.jar,然后運(yùn)行javac.exe,顯示如下結(jié)果: Exception in thread main” java.lang.NoClassDefFoundError: com/sun/tools/javac /Main 這個(gè)意思是說,你輸入javac.exe與輸入 java -cp c:\jdk\lib\tools.jar com.sun.tools.javac.Main 是一樣的,會(huì)得到相同的結(jié)果。從這里我們可以證明javac.exe只是一個(gè)包裝器(Wrapper),而制作的目的是為了讓開發(fā)者免于輸入太長(zhǎng)的指命。而且可以發(fā)現(xiàn)\lib目錄下的程序都很小,不大于2 9K,從這里我們可以得出一個(gè)結(jié)論。就是JDK里的工具幾乎是用Java所編寫,所以也是Java應(yīng)用程序,因此要使用JDK所附的工具來開發(fā)Java程序,也必須要自行附一套JRE才行,所以位于C:\Program Files\Java目錄下的那套JRE就是用來運(yùn)行一般Java程序用的。
以上就是關(guān)于java sdk和jdk有什么區(qū)別的內(nèi)容希望對(duì)大家有幫助。

猜你喜歡LIKE
相關(guān)推薦HOT
更多>>
Concurrent Programming, Parallel Programming 的本質(zhì)區(qū)別是什么?
一、Concurrent Programming, Parallel Programming 的本質(zhì)區(qū)別略有交叉,各有不同。Parallel Programming強(qiáng)調(diào)如何在多于1個(gè)CPU等情況下對(duì)系詳情>>
2023-10-13 23:11:46
簡(jiǎn)單工廠模式、工廠方法模式和抽象工廠模式有何區(qū)別?
一、簡(jiǎn)單工廠模式、工廠方法模式和抽象工廠模式的區(qū)別簡(jiǎn)單工廠模式簡(jiǎn)單工模式時(shí)類的創(chuàng)建模式,又叫做靜態(tài)工廠方法(static Factory Method)。...詳情>>
2023-10-13 21:42:32
聚類和降維有什么區(qū)別與聯(lián)系?
一、聚類和降維的區(qū)別與聯(lián)系區(qū)別降維就是復(fù)雜的高維數(shù)據(jù)信息簡(jiǎn)化為更容易閱讀的低維數(shù)據(jù)信息,就像素描把三維的立體圖形繪制在二維的平面上,而...詳情>>
2023-10-13 20:26:02
OC中協(xié)議和多態(tài)有什么區(qū)別?
一、OC中協(xié)議和多態(tài)的區(qū)別在Objective-C中,協(xié)議(Protocol)和多態(tài)(Polymorphism)是兩個(gè)不同的概念,它們的區(qū)別如下:協(xié)議(Protocol):協(xié)...詳情>>
2023-10-13 20:01:13熱門推薦
大家都在用的Mpp數(shù)據(jù)庫有哪些?
沸Concurrent Programming, Parallel Programming 的本質(zhì)區(qū)別是什么?
熱lua編譯器和lua解釋器有什么區(qū)別?
熱怎么自定義Visual Studio代碼折疊識(shí)別的區(qū)域?
新4核4線程和4核8線程區(qū)別?
簡(jiǎn)單工廠模式、工廠方法模式和抽象工廠模式有何區(qū)別?
Spark 和 Hadoop 有什么區(qū)別?
cs和bs區(qū)別?
axios和ajax區(qū)別?
ar模型和ma模型的區(qū)別?
聚類和降維有什么區(qū)別與聯(lián)系?
DOF和HP有什么區(qū)別?
OC中協(xié)議和多態(tài)有什么區(qū)別?
SAS 9.0中,class指令跟by指令有哪些區(qū)別?
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點(diǎn)擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費(fèi)用
了解課程價(jià)格 -
優(yōu)惠活動(dòng)
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團(tuán)隊(duì)
了解師資團(tuán)隊(duì) -
實(shí)戰(zhàn)項(xiàng)目
獲取項(xiàng)目源碼 -
開班地區(qū)
查看來校路線