Java、JDK、JRE、JVM

Java、JDK、JRE、JVM

一、 Java

广义上看,Kotlin、JRuby等运行于Java虚拟机上的编程语言以及相关的程序都属于Java体系的一员。从传统意义上看,Java社区规定的Java技术体系包括以下几个部分:

  • Java程序设计语言
  • 各种硬件平台上的Java虚拟机实现
  • Class文件格式
  • Java类库API
  • 来自商业机构以及开源社区的第三方Java类库

Java技术体系

二、 JDK

JDK(Java Development Kit),Java开发工具包,是支持Java程序开发的最小环境。它提供了JRE、类库和编译器、调试器等开发工具,以支持Java开发人员创建和构建各种类型的程序。

三、 JRE

JRE(Java Runtime Environment),Java运行时环境,是支持Java程序运行的标准环境。它包括JVM和Java类库,用于解释和执行Java字节码,并提供了运行Java应用程序所需的基本功能。

四、 JVM

JVM(Java Virtual Machine),Java虚拟机,是Java程序运行的核心组件之一。JVM是一个用于解释和执行Java字节码的虚拟计算机,它提供了运行Java程序的环境。

JDK、JRE、JVM关系

程序员使用JDK开发Java程序,Java程序最终在JRE中的JVM上运行。

五、 Java,编译型?解释型?

  • 编译型语言:把源程序编译成二进制代码的可执行程序然后运行这个程序,如C、C++。编译型语言执行速度快、效率高,但依靠编译器、跨平台性差些。

  • 解释型语言:源程序翻译一句执行一句,如Python、JavaScript。解释型语言执行速度慢、效率低,但依靠解释器、跨平台性好。

Java既不属于传统的编译型语言,也不属于解释型语言,Java是先将代码编译成字节码文件(“.class”文件),然后再利用JVM对字节码进行解释执行,所以Java即可以说成编译型,也可以说成解释型。另外,Java是一种动态语言,可以在程序运行时安全地修改它,这对于无法承受任何停机时间的网络应用程序来说尤其重要。

Java提出了“一次编译,到处运行”的口号,这个特性便是通过字节码以及JVM实现的。Java经过编译后的字节码由JVM解释执行,无论硬件配置如何,JVM的设计都遵循统一的规范。因此,Java在编写时不需要考虑不同架构CPU之间的差异,这为Java的可移植性、跨平台性提供了极大地便利。比如,对于C语言,在不同硬件平台上,int类型的变量可表示的范围不同。但由于JVM的存在,硬件平台的差异对于Java是不可见的,Java只需要知道JVM中int类型变量的表示范围即可。

JVM隐藏了不同硬件平台之间的差异

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java JDKJava Development Kit)是Java开发工具包,包含了Java编译器、Java运行时环境、Java API文档等工具。 Java JREJava Runtime Environment)是Java运行时环境,包含了Java虚拟机(JVM)和Java类库等组件,用于运行Java程序。 Java JVMJava Virtual Machine)是Java虚拟机,是Java程序运行的核心组件,负责将Java字节码转换为机器码并执行。 因此,JDK包含了JREJVMJRE包含了JVM,而JVMJava程序运行的核心组件。 ### 回答2: Java是一种面向对象的编程语言,具有跨平台的特性,它需要安装Java平台环境来运行。Java平台环境指的是Java Development Kit(JDK)、Java Runtime Environment(JRE)和Java Virtual Machine(JVM)三个组成部分。 JDKJava开发包,它包含了开发Java程序所需的所有工具,如编译器、调试器、Java API等,是Java开发的核心组件。JDK还提供了一些开发工具,如JavaDoc,可以根据源代码生成API文档,方便开发人员查看和了解Java API。 JREJava运行环境,它包含了JVMJava类库等运行Java程序所需的组件。JREJava程序的运行环境,它使Java程序可以在各种操作系统上运行。安装了JRE后,用户可以直接执行Java程序,而无需再进行任何配置。 JVMJava虚拟机,它是Java运行环境的核心,负责解释执行Java程序。JVM是在计算机上模拟一个独立的运行环境,它将Java程序转换成计算机能够理解的字节码,在运行时将字节码翻译成机器码,执行程序。JVM还负责Java程序的内存管理和垃圾回收等操作。 可以看到,JDKJava程序开发的核心组件,JRE是程序运行的环境,JVM是程序的执行引擎。三者是相互依存的关系,JDK需要JRE才能运行Java程序,JRE需要JVM才能解释执行Java程序。因此,安装JDK时,JVMJRE也会一并安装。而只安装JRE时,也会自动安装JVM。 总之,JDKJREJVM三者是密不可分的,组成了Java平台环境,可以使Java程序具备跨平台运行的能力。 ### 回答3: Java是一种流行的编程语言,广泛应用于开发各种不同类型的应用程序。Java开发环境包括Java Development Kit(JDK)、Java Runtime Environment(JRE)和Java虚拟机(JVM),它们之间有着密切的关系。 Java JDKJava开发工具包)是Java开发人员必须具备的工具,包含Java开发所需的所有工具,包括Java编译器、运行时环境、调试器、类库等。JDK还包含了Java实现的API,开发人员可以利用这些API来编写代码。 Java JREJava运行时环境)是用户计算机上执行Java程序所必需的环境,它包括Java虚拟机和Java类库。Java程序必须在JRE下运行,它提供Java程序所需的所有运行时环境和资源。 Java虚拟机(JVM)是Java应用程序的虚拟机,它是Java平台的核心组件。JVM是一台模拟计算机,可以在它上面运行Java字节码,它能够将Java字节码解释成机器语言或转化成本地代码运行。 总的来说,JDK是用于开发Java程序的工具包,JRE是用于运行Java程序的运行时环境,而JVMJava程序的虚拟机,它可以在任何安装了JRE的机器上运行Java程序。因此,开发人员需要安装JDK来编写和编译Java代码,而用户需要安装JRE来启动Java应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值