• JDK安装目录分析-两个jre和三个lib


    安装JDK后,Java目录下有jdk和jre两个目录,但jdk下还有一个jre目录,而且这个jre比前面那个jre在bin目录下少了个server文件夹(Server端的Java虚拟机)!前一个jre俗称通用jre,后一个俗称内置jre。如下图所示:

    两个jre大体相同,有细微的差别。

    JDK里面有很多用Java所编写的开发工具(如javac.exe、jar.exe等),而且都放置在 lib ools.jar 里面,它们本身运行的时候必须自行附一套JRE才行;所以开发人员需要 java 开发环境,安装jdk时,内置jre在JDK安装过程中会自动安装。

    通用JRE则是用来执行我们自己编写的JAVA程序;所以普通用户装通用jre即可。

    注意:因为编译时,系统找的是jdk下的jre,而不是最外层的jre。这意味着外层jre不能用于调试,否则会报错,例如在eclipse中会提示Unknown Source

     

    再说三个lib

    JDK下的lib包括java开发环境的jar包,是给JDK用的,例如JDK下有一些工具,可能要用该目录中的文件。例如,编译器等。 
    JRE下的lib只是运行java程序的jar包,是为JVM运行时候用的。包括所有的标准类库,和扩展类。 
    JDK下的JRE下的lib是开发环境中,运行时需要的jar包。最典型的就是导入的外部驱动jar包。因为编译时,系统找的是jdk下的jre。而不是最外层的jre。 

     

    最后我在这里补充几点: 
        1. 在使用Eclipse的时候不需要指定的CLASSPATH,Eclipse会自己搜索. 
        2. 独立目录下的jre是通用jre,安装时是可选的(选择了,则会覆盖已有版本)。jdk目录下的jre则是必须的。如果你在eclipse里指定jdk的路径(jre的路径不用你指定,会自己去找的,用的就是这个内置jre。而java, web, start等,用的则是通用jre。

    更详细深入分析请参考文章:http://blog.sina.com.cn/s/blog_9ba71d0b01014bux.html

  • 相关阅读:
    14GDB代码反向执行
    AcWing 1144. 连接格点
    AcWing 1143. 联络员
    AcWing 1141 局域网
    AcWing 1148 秘密的牛奶运输
    AcWing 904 虫洞
    AcWing 1146. 新的开始  
    AcWing 1140. 最短网络
    AcWing 346 走廊泼水节
    AcWing 1145. 北极通讯网络
  • 原文地址:https://www.cnblogs.com/sylvia-liu/p/4203797.html
Copyright © 2020-2023  润新知