JDK的全称是Java SE Development Kit, 即Java标准开发包,是Sun公司提供的一套用于开发Java应用程序的开发包, 它提供了编译、运行Java查询所需的各种工具和资源,包括ava编译器、Java运行时环境以及常用的 Java类库等。

这里又涉及一个概念: Java运行时环境,已它的全称是Java Runntime Environment,,因此也被称为JRE,它是运行Java查询的必需条件。

1.JRE 和JVM的关系

JVM是运行Java 程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要其他的类加载器、 字节码校验器以及大量的基础类库。JRE除了包含JVM之外,还包含运行Java程序的其他环境支持。

2.JDK 和 JRE 的关系

如果需要安装Java程序,则应该选择安装JDK;当然安装了JDK之后,就包含了 JRE, 也可以运行 Java程序。

但如果只是运行Java程序,则需要在计算机上安装JRE,仅安装JVM是不够的。实际上, Oracle公司网站上提供的就是JRE 的下载,它并不提供单独的JVM下载。

JDK、JVM、JRE的关系图,如图所示

3.JDK安装路径下文件夹说明

(1)bin:该路径下存放了JDK的各种工具命令,常用的 javac、 java等命令就存放在该路径下。在jdk的 bin路径下,执行“javac A.java”,将Java源码文件A编译为字节码文件A.class,再执行“javaA”运行A。注意:java命令后的参数是 Java类名,而不是字节码文件的文件名,也不是Java源文件名。

(2)db:该路径是安装 Java 数据库的路径。

(3)include:—些平台特定的头文件。

(4)jre:运行 Java程序所必须的 JRE环境。

(5)lib:存放的是JDK工具命令的实际执行程序。用于编译Java程序所使用的java.exe命令,是使用Java 编写的,这个类就是libo路径下 tools.jar文件中 sun toolsVjavac路径下的Main 类。JDK的bin路径下的javac.exe命令实际上仅仅是包装了这个Java类。不仅如此,bin 路径下的绝大部分命令都是包装了tools.jar文件的工具类。

(6)javaf-src.zip:该压缩文件里存放的是JavaFX所有核心类库的源代码。

(7)src.zip:该压缩文件存放的是Java所有核心类库的源代码。

(8)README 和 LICENSE:说明性文档。

JDK、JVM和JRE三者间的关系,及JDK安装路径下的文件夹说明的更多相关文章

  1. JDK与JRE、JVM三者间的关系及JDK的安装部署

    JDK与JRE.JVM三者间的关系及JDK的安装部署 一.JDK与JRE.JVM三者间的关系 JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了 ...

  2. pg_hba.conf、pool_hba.conf 以及 pool_passwd 三者间的关系

    pg_hba.conf.pool_hba.conf 以及 pool_passwd 三者间的关系: 1.pg_hba.conf.pool_hba.conf 以及 pool_passwd 三者关系 pg_ ...

  3. JDK、JRE、JVM三者间的关系

    JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE.Java工具和Java基础类库.Java Runtime Enviro ...

  4. JDK、JRE、JVM三者间的关系(待更新...)

    JDK(Java Development Kit) JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jv ...

  5. 连接池、数据源、JNDI三者间的关系及用法

    连接池:连接池是由容器(比如Tomcat)提供的,用来管理池中的连接对象.连接池自动分配连接对象并对闲置的连接进行回收.连接池中的连接对象是由数据源(DataSource)创建的.连接池(Connec ...

  6. JDK安装路径下的JRE与独立安装的JRE区别

    在JDK安装目录下的子文件下,已经默认安装了一个jre.且与独立安装的JRE6所包含的文件几乎完全一样. JDK里面内置的JRE和独立的JRE是有一点差别的: 在JDK安装文件中包含了一个完整的独立版 ...

  7. 为何在JDK安装路径下存在两个JRE?

    "两个jre"和"三个lib"的功能简单扼要的解释 安装JDK后,Java目录下有jdk和jre两个文件夹,但jdk下还有一个jre文件夹,而且这个jre比前面 ...

  8. [原创]关于在VS解决方案下使用文件夹管理多个项目层次关系的说明

    由于所创建的应用项目或类库项目较多,于是将这些类库放到一个文件夹下.在VS解决方案下确实能看到一个文件夹下多个类库项目这种层次关系.如下图所示: 但打开“我的电脑”,看到的只有类库,并未看到维护层次关 ...

  9. Activity、Window和View三者间的关系有一定的见解

    一.简述如何将Activity展现在手机上 Tips: Activity本身是没办法处理显示什么控件(view)的,是通过PhoneWindow进行显示的 换句话说:activity就是在造Phone ...

随机推荐

  1. jQuery无限载入瀑布流 【转载】

    转载至 http://wuyuans.com/2013/08/jquery-masonry-infinite-scroll/ jQuery无限载入瀑布流 好久没更新日志了,一来我比较懒,二来最近也比较 ...

  2. fastJson序列化

    在pojo实体中有map<String,Object>的属性,有个key是user它存储在数据库中是用户的id数组,而在aop里会对这个属性做用户详细信息查询并重新put给user.在做J ...

  3. Android Https相关完全解析

    转载: 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/48129405: 本文出自:[张鸿洋的博客] 一.概述 其实这篇文章理论 ...

  4. Android 高级UI组件(一)GridView与ListView

    1.GridView 1.GridView学习 GridView和ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选 main.xml: <?xml version ...

  5. What all is inherited from parent class in C++?

    派生类可以从基类中继承: (1)基类中定义的每个数据成员(尽管这些数据成员在派生类中不一定可以被访问): (2)基类中的每个普通成员函数(尽管这些成员函数在派生类中不一定可以被访问): (3)The ...

  6. Pycharm, 添加requirements.txt

    引用:https://www.jetbrains.com/help/pycharm/managing-dependencies.html 1) 2) 3)

  7. JDK安装错误问题总结。

    Windows10安装JDK,测试java -version时出现could not open XXX\jvm.cfg的解决方法. 1. 切记,环境变量修改后重新测试时一定要关闭命令再重新打开才生效 ...

  8. VirtualBox 同时添加 NAT 和 Host-Only 网卡出现无法上网的情况

    如果网卡1是 NAT,网卡2是 Host-Only,可以 ping 通 baidu.com. 如果网卡1是 Host-Only,网卡2是 NAT,无法 ping 通 baidu.com. 使用 nmc ...

  9. 『学了就忘』Linux系统定时任务 — 89、任务调度工具anacron

    目录 1.任务调度工具anacron介绍 2.新旧版本Linux中anacron工具的区别 3./etc/cron.{daily,weekly,monthly}目录说明 4.anacron命令 5./ ...

  10. LocalDate转换成Date

    LocalDate nowLocalDate = LocalDate.now(); Date date = Date.from(nowLocalDate.atStartOfDay(ZoneOffset ...