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有什么区别的内容希望对大家有帮助。

猜你喜欢LIKE
相关推荐HOT
更多>>
Concurrent Programming, Parallel Programming 的本质区别是什么?
一、Concurrent Programming, Parallel Programming 的本质区别略有交叉,各有不同。Parallel Programming强调如何在多于1个CPU等情况下对系详情>>
2023-10-13 23:11:46
简单工厂模式、工厂方法模式和抽象工厂模式有何区别?
一、简单工厂模式、工厂方法模式和抽象工厂模式的区别简单工厂模式简单工模式时类的创建模式,又叫做静态工厂方法(static Factory Method)。...详情>>
2023-10-13 21:42:32
聚类和降维有什么区别与联系?
一、聚类和降维的区别与联系区别降维就是复杂的高维数据信息简化为更容易阅读的低维数据信息,就像素描把三维的立体图形绘制在二维的平面上,而...详情>>
2023-10-13 20:26:02
OC中协议和多态有什么区别?
一、OC中协议和多态的区别在Objective-C中,协议(Protocol)和多态(Polymorphism)是两个不同的概念,它们的区别如下:协议(Protocol):协...详情>>
2023-10-13 20:01:13热门推荐
大家都在用的Mpp数据库有哪些?
沸Concurrent Programming, Parallel Programming 的本质区别是什么?
热lua编译器和lua解释器有什么区别?
热怎么自定义Visual Studio代码折叠识别的区域?
新4核4线程和4核8线程区别?
简单工厂模式、工厂方法模式和抽象工厂模式有何区别?
Spark 和 Hadoop 有什么区别?
cs和bs区别?
axios和ajax区别?
ar模型和ma模型的区别?
聚类和降维有什么区别与联系?
DOF和HP有什么区别?
OC中协议和多态有什么区别?
SAS 9.0中,class指令跟by指令有哪些区别?
技术干货






