Java基础知识专题2-JVM、JDK、JRE

Java基础知识专题2-JVM、JDK、JRE

前言

上一章我们在说到Java语言的特点是,这一章我们简单讲一下Java的基础组成部分,也是不少新手下载安装Java时总是迷惑的,到底是安装JDK还是JRE?JVM又是什么东西?为什么不用安装?

三“J”的关系

咱们先看下面这种图,大家暂时不用关心每个小格中的内容,后续会专门讲这些东西,先看右侧的大括号包含关系:
Java整体结构
可以看出JDK、JRE、JVM三者。各自即是一个重要内容,同时也存在着依赖和包含关系:
包含关系
从上面两张图我们大致了解了三“J”的关系,那么接下来我们注意讲解一下每个“J”的用处和其包含的内容。

JDK

首先是JDK,它是Java Development Kit的缩写,从字面上就可以翻译出它是Java开发套件。一提到开发套件这个词,我们就应该理解到这个套件一定是为开发人员准备的,且功能必然齐全。因为开发需要编写、资料、调试、运行、纠错等一系列的动作,所以JDK包含着Java一堆开发所需的工具(如:javac、java、javadoc、JConsole等)、运行环境(JRE)。

而为了方便的区分不同的使用场景,JDK还按照使用场景封装了三个不同的版本:

  1. J2SE:Java to standard edition,Java标准版,是我们最常用的版本;
  2. J2EE:Java to enterprise edition,Java企业版,顾名思义是企业授权版本,用的比较少;
  3. J2ME:Java to micro edition,Java移动版或者说是设备版,多用在移动设备和嵌入式设备中,逐渐被Android替代。

OpenJDK和OracleJDK

  1. OpenJDK可以说是原始版的JDK,它是基于Sun捐赠的HotSpot源码,完全开源的一个社区版JDK(当然现在也是Oracle的工程师在维护),而OracleJDK则是OpenJDK的一个实现,并不是完全开源的;
  2. Oracle JDK 比 OpenJDK 更稳定。OpenJDK和Oracle JDK的代码几乎相同,但Oracle JDK有更多的类和一些错误修复。因此,如果您想开发企业/商业软件,我建议您选择Oracle JDK,因为它经过了彻底的测试和稳定性维护。某些情况下,有些人提到在使用OpenJDK 时,可能会遇到了许多应用程序崩溃的问题,但是,只需切换到Oracle JDK就可以解决问题;
  3. 在响应性和JVM性能方面,Oracle JDK与OpenJDK相比提供了更好的性能;
  4. Oracle JDK不会为即将发布的版本提供长期支持,用户每次都必须通过更新到最新版本获得支持来获取最新版本;
  5. Oracle JDK根据二进制代码许可协议获得许可,而OpenJDK根据GPL v2许可获得许可。

JRE

其次是JRE,它是Java Runtime Environment即Java运行时环境的缩写,顾名思义这个软件就是用来运行Java程序的。
JRE是Java程序运行不可或缺的软件(所以JDK里面要有他)。而JRE由于少了开发工具,所以要比JDK轻便很多,更加方便用户安装使用,只是执行其运行Java程序的能力。
JRE包含着:Java基础的类库(如:Java API的jar等)和JVM。

JVM

最后是JVM,它就是我们最常说的Java虚拟机:Java Virtual Machine的缩写,JVM是整个Java语言的最核心部分,也是通过JVM使Java语言做到了跨平台。
JVM适配
从上面这张图可以看出,由于JVM的存在,只需要针对不同平台适配JVM,而Java代码则不用做任何适配调整即可运行在不同平台上。就好像一个“充电转换头”:一头永远是电源接口,另一头则遇到安卓用安卓的接口、遇到iphone则用iphone的接口。

结语

通过本章的希望大家能够对Java中的三大“J”有个简单的认识,同时知道他们之间的关系。下一章我们会分析一下Java代码是怎么从编写到运行的,从而对前两张所说的Java特点和三“J”的关系有个原理上的认识,也能够让我们更加了解自己写的代码是怎么跑起来的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值