深入理解JVM 系列JVM运行机制 JVM内存模(volatile,指令重排)

为了 接下去 更好理解 JAVA 并发,多线程 JUC 包的原理 特此写下前置学习文章 深入学习 java 虚拟机

本文目录

  • JVM启动流程

  • JVM基本结构

  • 内存模型

  • 编译和解释运行的概念

一、java 程序 启动流程

深入理解JVM 系列JVM运行机制 JVM内存模(volatile,指令重排)

启动流程

java 命令开始

寻找 配置文件 定位需要的 .dll

.ddl 初始化 JVM 虚拟机

获得 native 接口

找到main 方法运行

二、JVM结构(运行时数据区)

深入理解JVM 系列JVM运行机制 JVM内存模(volatile,指令重排)

JVM结构(运行时数据区)

二.一、线程私有的区域

1.程序计数器(PC寄存器)

  • 记录正在执行的字节码地址,可辨别当前字节码解析到了什么位置,引导字节码解析顺序,并控制程序的流程。(当前程序执行到哪然后下一步该执行什么操作。)

    • 执行java 方法的时候世纪路字节码的地址,执行Native方法这个计数器为空(Undefined)

    • 此内存区域是唯一一个在Java虚拟机规范中没有规定任何OutOfMemoryError情况的区域。

  • 为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间的计数器互不影响,独立存储,我们称这类内存区域为线程私有的内存。

2.栈(VM Stack)

  • 栈由一系列帧组成(因此Java栈也叫做帧栈ÿ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值