JDK、JRE、JVM

Java是SunMicrosystems公司推出的能够跨越多平台的,可移植性最高的一种面向对象的编辑语言,其特点是:安全、可移植性、跨平台。

如果按照技术所服务的领域来划分,可以分为以下几个主要的产品线:

  • Java Card:支持小程序运行在小内存设备上的平台。
  • JavaME(Micro Edition):嵌入式系开发,掌上电脑,手机;对Java API有所精简,并添加了移动终端的针对性支持。
  • JavaSE(Standard Edition):标准版,用于桌面程序的开发;提供了完整的Java核心API。
  • JavaEE(Enterprise Edition):平台企业版,网络程序和企业级应用开发;除了提供 Java SE API外,还对其做了大量有针对性的扩充,在JDK10之后被称为Jakarta EE。

1、从组成内容角度了解JDK、JRE、JVM:

官方JavaSE文档中,一开头就介绍了JVM、JRE、JDK之间的关系及内容:

  • JDK(Java development Kit):开发工具包,是JRE的超集,包含了JRE所有内容,开发applet和应用程序所需的编译器和调试器等工具和工具API、以及Java程序语言;
  • JRE(Java Runtime Environment):运行时环境,提供了库、Java虚拟机(JVM)和其他组件来运行用Java编程语言编写的applet和应用程序;
  • JVM(Java Virtual Machine):Java虚拟机,HostSpot Client和Server VM。

如下图:
Java平台标准版8文档

2、从Java应用程序的运行机制角度了解JDK、JRE、JVM

计算机高级语言的类型主要有编译型和解释型两种,而Java语言两种类型的结合。
过程为:编写源程序(.java)编译器(javac)将源文件编译成字节码文件(.class)虚拟机(JVM)解释执行为机器码

可以这样理解:
编译阶段:使用Javac编译器先将.java源文件编译为.class字节码文件;
运行阶段:JVM找到.class文件加载类、找到main方法、开始执行、管理并分配内存,最后再执行垃圾收集。

在这个过程中JVM、JRE、JDK的任务为:

JVM:

  • 用于执行字节码的“虚拟计算机”。定义了指令集,寄存器集,结构栈,垃圾收集堆,内存区域。
  • 负责将Java字节码解释运行,边解释边运行。
  • Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。Java虚拟机是实现跨平台的核心机制

JRE:

  • 包含虚拟机(JVM),库函数,运行Java应用程序所必须的文件。
  • 主要任务:1. 加载代码----由类加载器执行; 2. 检验代码----由字节码检验器执行; 3. 执行代码----由运行时解释执行 。

JDK:

  • 包含JRE,以及增加编译器和调试器等用于程序开发的文件。
  • 建议: - 如果只是运行Java程序只需要JRE,如果要开发Java程序,就需要安装JDK。

注意:

  • 同一Java源文件中最多只能定义一个带public修饰的类,且要与源程序文件名一致
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值