【JVM的整体架构你了解了吗?一文带你JVM从入门到入门。】

1.写在前面

··本文主要讲述关于java虚拟机JVM的整体架构,不过多阐述内部细节。其它细节问题会单另成篇发布。
·· 我们日常使用的java,C++等语言其实就是 高级程序语言,以java来说,一个.class文件经过编译成为字节码文件之后,交给JVM来处理和适配。不同的操作系统适配不同的虚拟机环境。之后成为机器能够识别的语言转达给CPU进行执行。

在这里插入图片描述

1.什么是java虚拟机

它是用来执行java字节码的虚拟计算机,拥有独立的运算机制。java语言也附带了JVM所带来的 跨平台性以及优秀的垃圾回收机制
说的再通俗一点,他就是那些字节码(二进制)的运行环境,然后解释为对应操作系统可以识别的机器指令执行。

2.java现在使用哪个VM

目前java使用的是市面上性能最高的代表作之一, HotSpot VM。
它基于 栈式架构,设计实现比较简单,避开了寄存器架构的分配难题,执行过程依赖栈帧。具以一下特点

  1. 指令集更小,编译器更容易实现;
  2. 可移植性更好;
  3. 无需硬件支持;
  4. 更好的实现跨平台性;

3.JVM由哪几部分构成

经过java编译器编译后生成的java字节码文件进入 JVM。其内部构成主要分为5部分。

  1. 方法区
  2. PC寄存器(程序计数器)
  3. 虚拟机栈
  4. 本地方法区栈
    (后续会发布关于这五个区域的详细解释。)

4.JVM的生命周期

虚拟机再如下几种情况会退出:

  1. 程序正常执行完成;
  2. 程序再执行过程中出现异常或错误;
  3. 操作系统出现错误;
  4. 线程调用了 Runtime类或System类的一些方法主动退出等;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值