美文网首页
6、运行时数据区

6、运行时数据区

作者: 陈桐Caliburn | 来源:发表于2020-04-23 13:09 被阅读0次

gojvm目录
1、搭建go环境
2、cmd命令行参数解析
3、搜索class文件
4、添加testOption 便于单元测试
5、解析classfile文件
6、运行时数据区
7、指令集
8、解释器
9、创建Class
10、类加载器
11、对象实例化new object
12、方法调用和返回
13 类初始化
14、jvm支持数组
15、jvm支持字符串-数组扩展
16、本地方法调用
17、ClassLoader原理
18、异常处理
19、 启动jvm

知识扩展

rtda 有数据存储和运算功能
存储来自共享数据+私有数据
运算功能来自线程jvm栈帧 用stack计算

帧计算要重点看 jvm stack jvm frame
要写一篇文章专门阐述逻辑

运行时数据区(run-time data area)

运行时数据类型 创建和销毁时机
多线程共享数据 虚拟机启动创建,退出销毁
线程私有数据 创建线程时创建,退出销毁

多线程共享数据

多线程共享数据类型 位置 包含
类数据 方法区Method Area(在Heap内) 字段,方法信息,方法字节码,运行时常量池
类实例(对象) 堆Heap

此图非常重要

运行时数据

pc 寄存器 java虚拟机指令地址
jvm Frame 执行当前方法的帧

数据类型
1、基本类型:变量存放数据本身
2、引用类型:变量存放对象引用,真正对象数据在堆里

基本数据类型 引用类型
布尔类型 类类型
数字类型(整型和浮点) 接口类型
数组类型
特殊null

程序计算通过栈stack来实现

实现运行时数据区

tip : 设计前,先定义好对应结构体,再实现功能

go run main -test "rtda"  #测试 运行时数据

实战项目地址

https://github.com/yinlingchaoliu/jvmgo.git

相关文章

  • JVM-006-运行时数据区

    一、运行时数据区  运行时数据区是由6个部分组成的Method Area 方法区、VM Stacts 虚...

  • 《深入理解Java虚拟机-JVM高级特性与最佳实践》学习总结(第

    一、运行时数据区 JVM将我们机器上的内存当做一个运行时数据区来进行处理。该运行时数据区包括以下几个部分: 方法区...

  • 线程在JVM中的运行原理

    。线程在启动运行时,主要是在运行时数据区(JVM的内存模型),而JVM的运行时数据区主要包括堆,方法区,Java栈...

  • 《深入java虚拟机》-内存区域与内存溢出异常

    一、运行时数据区域 1. java内存区模型 注 :1. 绿色方框的数据区由所有线程共享2. 运行时数据区的白色区...

  • 6、运行时数据区

    gojvm目录1、搭建go环境2、cmd命令行参数解析3、搜索class文件4、添加testOption 便于单元...

  • jvm 运行时数据区-01

    jvm 运行时数据区 jvm 运行时数据区 ,将内存划分为5个区域,java 代码在运行时 类里面的 组成部分 分...

  • JVM Run-Time Data Areas & 参数相关

    jvm定义了各个运行时数据区: 运行时数据区: <=== 是一个规范,内存结构是一个实现1)部分运行时数据区域是在...

  • JVM内存区域小结

    1. 运行时数据区(Runtime Data Area) 当类被加载入方法区时,就已经开始使用运行时数据区了。根据...

  • JVM学习笔记

    JVM 注意:0、JVM运行时数据区和JVM内存模型不要搞混1、运行时数据区可以分为:堆、方法区、虚拟机栈、本地方...

  • JVM

    jvm学习分为四部分 运行时数据区 类加载器 类加载过程 垃圾回收 本地接口 运行时数据区 (1)线程私有区: 程...

网友评论

      本文标题:6、运行时数据区

      本文链接:https://www.haomeiwen.com/subject/geooihtx.html