jre、jdk、sdk、jvm区别详解

jre、jdk、sdk、jvm区别详解

ID:8799657

大小:15.50 KB

页数:4页

时间:2018-04-08

jre、jdk、sdk、jvm区别详解_第1页
jre、jdk、sdk、jvm区别详解_第2页
jre、jdk、sdk、jvm区别详解_第3页
jre、jdk、sdk、jvm区别详解_第4页
资源描述:

《jre、jdk、sdk、jvm区别详解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、jre、JDK、SDK、JVM区别详解一、JDK与jreJDK(JavaDevelopmentKit)就是开发人员使用的SDK,它提供可Java的开发环境和运行环境。jre(JavaRuntimeEnviroment)是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK会看到电脑中有两套jre,C:ProgramFilesJavajdk1.6.0_45jre;C:ProgramFilesJavajre6,后面的比前面少了server端的虚拟机,不过在安装jdk是可以选择是否安装C:ProgramFilesJavajre6目录下的虚拟机 1

2、、Sun为什么要让JDK安装两套jre呢?是因为JDK里有很多java编写的开发工具(javac.exe,jar,exe),而且都放置到bintools.jar里。从下例子我们可以看出,将tools.jar改为tool1.jar,然,后运行javac.exe,显示结果:Exceptioninthread"main"java.lang.NoClassDefFoundError:com/sun/tools/javac/Main,这个意思是说输入javac.exe与输入java-cpc:jdklibtools.jar是一样的,会得到相同结果。从而我们这里可以证明javac.exe是一个

3、包装器(Wrapper),而制作目的是为了免于开发者输入太长的指命。JDK里的工具几乎是用Java所编写,所以也是Java应用程序,因此要使用JDK所附的工具来开发Java程序,也必须要自行附一套JRE才行,所以位于C:ProgramFilesJava目录下的那套JRE就是用来运行一般Java程序用的。 2、两个jar与三个lib的功能简单概要的解释:安装JDK后,java目录下有jar和jdk两个文件夹,但是jdk下还有个jar文件夹,而且这个jar比前面的那个jar在bin目录下多了个server文件夹。普通用户装jar即可。开发人员需要安装jdk,其中包括jar,所以jdk下有j

4、ar,两个大致相同,有细微差别。两套jar,是针对不同的工作职责,不同的jar负责各自的范围内容。当用户只需执行java程序时,java下的jar就OK。当用户是java程序员,则需要java开发环境。编译时,系统就会优先去找jdkbin目录下的java、javac这些命令所在的目录或者他们目录的jar.发环境下运行的是jdk下的jar.3、说三个lib目录JDK下的lib包括java开发环境的jar包,是给JDK用的,例如jdk下有一些工具,可能要用到改目录中的文件。例如编译器等。jre下的lib只是运行java程序的包,是为JVM运行时用的。包含所有的标准类库和扩展类。jdkjar

5、lib是开发环境中,运行需要的jar包,典型例子就是导入的外部驱动的jar包。应为编译时系统找的是jdk下的jre,而不是最外层jar。 3、如果一台电脑安装两套以上的JRE,谁来决定呢?这个重大任务就落在java.exe身上。Java.exe的工作就是找到合适的JRE来运行Java程序。Java.exe依照底下的顺序来查找JRE:自己的目录下有没有JRE;父目录有没有JRE;查询注册表:[HKEY_LOCAL_MACHINESOFTWAREJavaSoftJavaRuntimeEnvironment]所以java.exe的运行结果与你的电脑里面哪个JRE被执行有很大的关系。4、j

6、ar、jdk目录下的bin目录有两个目录:server,client,这是真正的jvm.dll所在。jvm.dllll无法单独工作,当jvm.dll启动后会使用explicit的方法(就是使用Win32API之中的LoadLibrary()与GetProcAddress()来载入辅助用的动态链接库),而这些辅助用的动态链接库(.dll)都必须位于jvm.dll所在目录的父目录之中。因此想使用哪个JVM,只需要设置PATH,指向JRE所在目录底下的jvm.dll。 二、SDK与JDKSDK(SoftwareDevelopmentKit)中文意思是“软件开发工具包”。这是一个覆盖面相当广泛的名

7、词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。SDK是一系列文件的组合,它为软件的开发提供一个平台(它为软件开发使用各种API提供便利)。可以认为jdk只是sdk的一种(子集),因为它是开发java程序的一个平台,开发其他程序的sdk可以没有jdk。比如你下载了一个软件开发平台eclipse-SDK-3.2.2-win32.zip,它本身里面是没有jdk的。但是只要开发java程序就

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。