
Java虚拟机
文章平均质量分 60
VaLyR1an
这个作者很懒,什么都没留下…
展开
-
【Java虚拟机】1.Java内存区域
运行时数据区域 程序计数器 指向正在执行的字节码指令,是线程独立的 Java虚拟机栈 执行每个方法的时候都会产生一个栈帧来存放局部变量表、操作数栈、动态连接、方法出口等信息。 局部变量表包括可知的基本数据类型(包括boolean、byre、char、short、int、float、long、double)、对象引用(reference类型,它并不等同于对象,它可能是一个对象指针或者指向代表对象的句柄或者其他于此对象相关的位置)和returnAddress类型(指向了一条字节码指令的地址) 本地方法栈原创 2022-04-11 10:07:47 · 990 阅读 · 0 评论 -
【Java虚拟机】2.HotSpot虚拟机对象管理
对象的创建 当Java虚拟机遇到一条new字节码指令时,首先检查指令的参数是否在常量池中能够定位到,并且检查这个符号引用代表的类是否已经被加载、解析、初始化过,如果没有那就必须先执行相应的类加载过程。 接下来会给新生的对象分配空间,分配策略根据是否带有空间压缩整理功能分为两种: 指针碰撞 空闲的区域是连续的,用一个指针来确定空闲与非空闲的边界 空闲列表 空闲的区域不是连续的,维护一个列表来确定空闲区域的位置 同时由于新对象的创建是一个非常频繁的操作,需要解决并发问题,解决办法也有两个: 进程共享内存空原创 2022-04-11 10:11:55 · 105 阅读 · 0 评论