一文看懂 ‘JDK’ 与 ‘JRE’ 及其区别(Java的简单了解#JVM)

文章目录

JDK

 简述JDK

回答为什么JDK能让Java程序跑起来

JRE

  简述JRE

 JDK与JRE的区别(JDK17的安装包在文章最上方可自取)

JVM(Java虚拟机)

Java六大主要特性


JDK

       在我们学习java语言的时候,通常要去官网下载JDK安装包,只有安装了JDK才能让Java程序在计算机中跑起来。那你是否也想过,为什么安装JDK会让Java程序跑起来呢?

下面我们一起快速了解一下——什么是JDK


JDK都有什么?

 简述JDK

  1. JDK的全名为 Java Development Kit :称为Java开发工具包
  2. JDK的内容:如上图所示,JDK包含JVM(Java虚拟机---在后文讲解)、核心类库以及相关的开发工具
  3. JDK的作用:用于完成Java程序的 开发 和 运行
  4. JDK内容简述(简单了解即可,后续的学习与开发会有更深刻的理解):
JVMJava虚拟机,虚拟机会把Java代码翻译成计算机能看懂的语言
核心类库Java内置的类,可以直接调用以完成特定功能(比如输入输出等......)
开发工具一系列用于Java程序开发的工具,例如编译工具javac、执行工具java,除此之外还有jdb等等实用工具。包括了开发与运行的工具

回答为什么JDK能让Java程序跑起来

        我们平常使用的操作系统(Win、ios、Linux......)是不认识Java语言的,如果我们想在我们的电脑上运行Java语言写的程序,我们还需要 把我们写的Java代码翻译成计算机能看懂的语言。这个时候我们就需要用到Java虚拟机、javac指令等工具来对Java语言进行编译(翻译)

       除此之外,我们在Java开发的过程中还要用到各种各样的开发和运行工具,而JDK给我们提供了这些工具。

JRE

接着我们一起快速了解一下——什么是JRE


JRE都有什么?​​​​

  简述JRE

  1. JRE的全名为 Java Runtime Environment :称为Java运行环境
  2. JRE的内容:如上图所示,JRE包含JVM(Java虚拟机---在后文讲解)、核心类库以及相关的运行工具
  3. JRE的作用:用于完成Java程序的 运行
  4. JRE内容简述(简单了解即可,后续的学习与开发会有更深刻的理解):
JVMJava虚拟机,虚拟机会把Java代码翻译成计算机能看懂的语言
核心类库Java内置的类,可以直接调用以完成特定功能(比如输入输出等......)
运行工具一系列用于Java程序运行的工具,例如执行工具java等。

 JDK与JRE的区别(JDK17的安装包在文章最上方可自取)


        相信眼尖的朋友已经看出了它们的微妙之处~    没错,JDK包含JRE

        对比两者简介我们可以发现JDK包含了JVM、核心类库、开发工具,而JRE也包含了JVM核心类库,但最后一个是运行工具。而我们在上面的表格中提到,开发工具中包含了开发运行的工具。在项目开发完成后,就不需要一些开发工具了,所以使用JRE会节省一些空间。

        总结:我们在使用的时候,只需要安装JDK即可,因为它包含了JVM(虚拟机)和需要用到的各种工具。

        因此两者的关系我们可以概括为下图

JVM(Java虚拟机)


        说到这里有的朋友就有疑惑了——JDK和JRE里都包含的JVM是何方神圣呢?这我们就需要从Java区别与其他语言的主要特性之一——跨平台的原理说起。

        我们前面介绍过,操作系统本身是不认识Java、C++、Python等高级语言的,我们需要对这些代码进行编译(翻译),最后得出计算机能看懂的语言

        目前我们高级语言的编译运行方式及其代表性语言有如下几种:

编译运行方式代表语言
编译型(对代码进行整体编译,最后生成编译文件)C、C++
解释型(对代码进行逐行编译,不生成编译文件,代码透明可见,具有天生开源的特性)Python
混合型Java

       无论是编译型还是解释型,编译后都要面临一个问题,那就是系统不兼容的问题。

       因为不同计算机和操作系统因为软件和硬件的不同,它们能看懂的语言也会有所出入,所以在不同的系统和设备之间,需要进行多次编译(就比如说你的语言需要翻译成汉语、英语、法语等各个版本让这些国家的人能听懂),这样一来,开发的成本就大大提高了。

        这个时候Java带着它的JVM(虚拟机)来了

        针对不同操作系统,Java提供了不同的虚拟机,虚拟机会把Java语言翻译成操作系统能看得懂的语言。真正做到 一次编译,处处可用

        所以JVM是JDK里面非常重要的一个工具!

Java六大主要特性


        既然通过JVM了解到了Java语言的主要特性之一——跨平台,不妨我们也来了解一下其余五个特性(简单了解即可,后续的学习与开发会有更深刻的理解):

主要特性简介
面向对象按照用户需求创建模块以实现特定功能
安全性漏洞少
多线程支持多用户同时操作(例:12306平台)
简单易用--略--
开源全球开发者都能免费看到Java的代码
跨平台【参考JVM一节中的讲述】

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值