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

相關推薦HOT
更多>>
Java9和Java11區別大嗎?
一、Java9和Java11區別Java 9的新特性java模塊系統 (Java Platform Module System)。模塊系統的使用:HTTP 2 客戶端:HTTP/2標準是HTTP協議的詳情>>
2023-10-11 23:00:28
合約機和裸機有哪些區別?
一、合約機和裸機的區別1、定義不同合約機指的是運營商為了吸引用戶而推出的優惠購機的活動,它需要用戶使用特定的套餐,并且套餐時間有限制,...詳情>>
2023-10-11 22:28:38
struts2和springmvc區別?
一、struts2和springmvc區別1.框架機制Struts2采用Filter(StrutsPrepareAndExecuteFilter)實現,SpringMVC(DispatcherServ詳情>>
2023-10-11 21:59:06
Java是什么?
一、什么是Java?首先Java是一種廣泛使用的計算機編程語言,程序員用它來和計算機交流,把要求和設想Java語言表達出來,這個過程就是我們所說的...詳情>>
2023-10-11 21:33:35