欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[JVM学习之路]一、初识JVM,了解其结构、模型及生命周期

程序员文章站 2022-03-26 14:48:04
JVM入门简介一、JVM位置JVM是运行在操作系统之上的,与硬件之间没有直接的联系二、JVM的整体结构方法区和堆是所有线程所共享Java栈(jvm虚拟机栈)、本地方法栈和程序计数器是运行时每个线程所独立拥有的三、JVM的架构模型javap -v #反编译Java编译器的指令是基于栈的指令集架构;另一种是基于寄存器的指令集架构由于不同平台的CPU不同,所以不能设计成基于寄存器的。基于栈优点:​1.跨平台​2.指令集小,编译器容易实现缺点:​1.性能下降,实现同样功能...

JVM入门简介

一、JVM位置

JVM是运行在操作系统之上的,与硬件之间没有直接的联系

[JVM学习之路]一、初识JVM,了解其结构、模型及生命周期

二、JVM的整体结构

[JVM学习之路]一、初识JVM,了解其结构、模型及生命周期

  • 方法区和堆是所有线程所共享
  • Java栈(jvm虚拟机栈)、本地方法栈和程序计数器是运行时每个线程所独立拥有的

三、JVM的架构模型

javap -v #反编译

Java编译器的指令是基于栈的指令集架构;另一种是基于寄存器的指令集架构

由于不同平台的CPU不同,所以不能设计成基于寄存器的。

基于栈优点:

​ 1.跨平台

​ 2.指令集小,编译器容易实现

缺点:

​ 1.性能下降,实现同样功能需要更多的指令

​ 也就是说执行性能比寄存器差

四、JVM生命周期

jps #打印虚拟机执行进程

JVM生命周期包括启动、执行和退出

1.启动

通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的

2.执行

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

3.退出

  • 程序正常执行结束
  • 程序异常或错误而异常终止
  • 操作系统错误导致终止
  • 某线程调用Runtime类或System类的exit方法,或Runtime类的halt方法,并且java安全管理器也允许这次exit或halt操作
  • 除此之外,JNI(Java Native Interface)规范描述了用JNI Invocation API来加载或卸载Java虚拟机时,Java虚拟机的退出情况

本文地址:https://blog.csdn.net/qq_41522089/article/details/107564728