jre、JDK、SDK、JVM区别详解.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jre、JDK、SDK、JVM区别详解

jre、JDK、SDK、JVM区别详解一、JDK与jreJDK(Java Development Kit)就是开发人员使用的SDK,它提供可Java的开发环境和运行环境。jre(Java Runtime Enviroment)是指Java的运行环境,是面向Java程序的使用者,而不是开发者。?如果安装了JDK会看到电脑中有两套jre,C:\Program Files\Java\jdk1.6.0_45\jre;C:\Program Files\Java\jre6,后面的比前面少了server端的虚拟机,不过在安装jdk是可以选择是否安装C:\Program Files\Java\jre6目录下的虚拟机?1、Sun为什么要让JDK安装两套jre呢?是因为JDK里有很多java编写的开发工具(javac.exe,jar,exe),而且都放置到\bin\tools.jar里。从下例子我们可以看出,将tools.jar改为tool1.jar,然,后运行javac.exe,显示结果:Exception in thread main java.lang.NoClassDefFoundError:com/sun/tools/javac/Main,这个意思是说输入javac.exe与输入java -cp c:\jdk\lib\tools.jar是一样的,会得到相同结果。从而我们这里可以证明javac.exe是一个包装器(Wrapper),而制作目的是为了免于开发者输入太长的指命。JDK里的工具几乎是用Java所编写,所以也是Java应用程序,因此要使用JDK所附的工具来开发Java程序,也必须要自行附一套JRE才行,所以位于C:\Program Files\Java目录下的那套JRE就是用来运行一般Java程序用的。?2、两个jar与三个lib的功能简单概要的解释:安装JDK后,java目录下有jar和jdk两个文件夹,但是jdk下还有个jar文件夹,而且这个jar比前面的那个jar在bin目录下多了个server文件夹。普通用户装jar即可。开发人员需要安装jdk,其中包括jar,所以jdk下有jar,两个大致相同,有细微差别。两套jar,是针对不同的工作职责,不同的jar负责各自的范围内容。当用户只需执行java程序时,java下的jar就OK。当用户是java程序员,则需要java开发环境。编译时,系统就会优先去找jdk\bin目录下的java、javac这些命令所在的目录或者他们目录的jar.发环境下运行的是jdk下的jar.3、说三个lib目录JDK下的lib包括java开发环境的jar包,是给JDK用的,例如jdk下有一些工具,可能要用到改目录中的文件。例如编译器等。jre下的lib只是运行java程序的包,是为JVM运行时用的。包含所有的标准类库和扩展类。jdk\jar\lib是开发环境中,运行需要的jar包,典型例子就是导入的外部驱动的jar包。应为编译时系统找的是jdk下的jre,而不是最外层jar。?3、如果一台电脑安装两套以上的JRE,谁来决定呢?这个重大任务就落在java.exe身上。Java.exe的工作就是找到合适的JRE来运行 Java程序。 Java.exe依照底下的顺序来查找JRE:自己的目录下有没有JRE;父目录有没有JRE;查询注册表: [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment] 所以java.exe的运行结果与你的电脑里面哪个JRE被执行有很大的关系。4、jar、jdk目录下的bin目录有两个目录:server,client,这是真正的jvm.dll所在。jvm.dllll无法单独工作,当jvm.dll启动后会使用explicit的方法(就是使用Win32 API之中的LoadLibrary()与GetProcAddress()来载入辅助用的动态链接库),而这些辅助用的动态链接库(.dll)都必须位于jvm.dll所在目录的父目录之中。因此想使用哪个JVM,只需要设置PATH,指向JRE所在目录底下的jvm.dll。?二、SDK与JDKSDK(Software Development Kit)中文意思是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。SDK是一系列文件的组合,它为软件的开发提供一个平台(它为软件开发使用各种API提供便利)。可以认为jdk只是sdk的一种(子集),因为它是开发java程序的一个平台,开发其他程序的sdk可以没有jdk。比如你下载了一个软件开发平台 eclipse-SDK-3.2.2-win32.zip,它本身里

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档