JVM 篇:一、JVM概述

232次阅读
没有评论

共计 1013 个字符,预计需要花费 3 分钟才能阅读完成。

内容目录

什么是JVM?

 JVM全称"Java Virtual Machine",即Java虚拟机,是一种能够执行字节码的虚拟机,以堆栈结构机器来实现。
早期是Java平台的一部分,能够执行以Java语言实现的软件程序,是Java跨平台的基石。

JVM 篇:一、JVM概述

 如今,JVM已经成为跨语言的平台,任何一个语言(Kotlin,Scala,Jython等)只要能够将源码编译成符合JVM规范的字节码文件,均可以通过JVM运行,实现跨平台。

JVM 篇:一、JVM概述

JVM与虚拟机的区别?

虚拟机

  • 虚拟机指的是在软件层面上模拟计算机行为的程序或软件组件。虚拟机可以模拟硬件层面的计算机(VM),也可以为特定语言或平台设计的虚拟执行环境(JVM)
  • 虚拟机并不局限于JVM,其它编程语言也可以有自己的虚拟机。

JVM

  • JVM一般指Java平台的虚拟机实现,用于执行Java字节码。
  • JVM是Java程序运行的核心组件,负责将Java字节码翻译成机器码并执行,同时管理内存、线程、异常等。

JVM的组织架构

 HotSpot VM是目前市面上高性能虚拟机的代表作之一,它采用解释器与即时编译器并存的架构,
器运行性能已经达到了可以和C/C++程序一较高下的地步。
 HotSpot VM的架构如下:

JVM 篇:一、JVM概述

 详细架构图如下:

JVM 篇:一、JVM概述

 Java虚拟机主要分为五大模块:类装载器子系统、运行时数据区、执行引擎、本地接口方法和垃本地方法库

后续所有章节将按照这一顺序依次讲解。

JVM的生命周期

JVM启动

 JVM虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的,也就是说,不同系统平台的JVM其初始类的实现可能不同。

JVM运行

 运行中的JVM有一个清晰的任务,就是执行Java程序。程序开始执行时它才运行,程序结束时,他就停止。执行一个所谓的Java程序的时候,真真正正在执行的是一个叫做Java 虚拟机的进程。

JVM退出

 JVM的退出有以下几种情况:

  • 程序正常执行并结束;
  • 程序在执行过程中出现异常或错误而异常终止;
  • 由于操作系统出现错误而导致Java虚拟机进程终止;
  • 线程调用Runtime类或System类的exit方法,或Runtime类的halt方法,并且Java安全管理器也允许这次的exit或halt操作。

其它虚拟机

 除HotSpot VM外,还有IBM的J9、Microsoft JVM、Taobao JVM、Jrockit VM等。

正文完
 
PG Thinker
版权声明:本站原创文章,由 PG Thinker 2024-03-25发表,共计1013字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
热评文章
Rust中所有权与借用规则概述

Rust中所有权与借用规则概述

在GC与手动管理内存之间,Rust选择了第三种:所有权机制...