JVM——java体系和jvm介绍

JVM——java体系和jvm介绍

1、java的体系

  • 从传统意义上看来,JCP(java社区)官方定义的java体系包括一下几个部分:

    • java程序语言设计

    • 各种硬件平台上的java虚拟机实现

    • Class文件格式

    • java类库API

    • 来自商业机构和开源社区的第三方类库

  • java技术体系可以分为以下四条产品线

    • java Card:支持java小程序(Applets)运行在小内存设备(如智能卡)上的平台;
    • java ME(Micro Edition):支持java运行在移动终端上的平台(主要使用java语言开发的程序的Android并不属于java ME);
    • java SE(Standard Edition):支持面向桌面级应用的java平台,提供完正整的java核心API;
    • java EE(Enterprise Edition):支持使用多架构的企业应用的java平台,JDK10以后被Oracle放弃,捐献给Eclipse基金会管理,此后鄂北称为jakarta EE;

2、JVM介绍

1.JVM概述
  • JVM:Java Virtual Machine,也就是Java虚拟机
  • 所谓虚拟机是指:通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统
  • JVM是通过软件来模拟Java字节码的指令集,是Java程序的运行环境
2.常见的JVM

在这里插入图片描述

3.JVM与java的关系
  • 虚拟机(JVM)与java无关,只与class文件格式有关,只要是class文件格式,JVM都能解释
    在这里插入图片描述

3、JVM、JRE和JDK概念

在这里插入图片描述

1.JVM( Java Virtual Machine ):
  • Java虚拟机,它是整个 Java 实现跨平台的最核心的部分,所有的 Java 程序会首先被编译为 .class 的类文件,这种类文件可以在虚拟机上执行,也就是说 class 并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
  • JVM与java无关,JVM只与class文件格式有关,任何语言只要能编译成class文件格式,就能在JVM上执行
2.JRE(Java RunTime Environment )
  • 组成:虚拟机、java核心类库,是运行环境,不具备编译开发功能
  • 介绍:JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java基本类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。
3.JDK(Java Development Kit):
  • 组成部分:java程序语言设计、虚拟机、java类库,JDK是支持程序开发的最小环境。

  • 介绍:JDK是Java开发工具包,它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提 供了JVM和Runtime辅助包,用于解析class文件使其得到运行)。如果你下载并安装了JDK,那么你不仅可以开发Java程序,也同时拥有了运行Java程序的平台。

图片来自深入理解java虚拟机

3.三者之间的联系和区别
  1. JVM不能单独执行.class文件,在解释class 的时候 JVM 需要调用解释所需要的类库lib。
  2. JRE有一个lib目录和bin目录,lib目录里面就是java类库(打成jar包),bin目录就是虚拟机,虚拟机在解释class文件时需要调用到lib目录中的java类库。(JRE=JVM+lib)
  3. JDK包含JRE和开发工具、编辑器等,通过JDK中的javac将.java文件编译成.class文件,交给JVM处理。

4、java编译过程

  • JDK中的编译器(javac.exe)将.java文件编译成.class文件
  • JVM(虚拟机)通过ClassLoader对.class文件进行解释(过程需要调用java类库)

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值