![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA虚拟机学习笔记
_龙卷风_
这个作者很懒,什么都没留下…
展开
-
HotSpot虚拟机对象探秘
#### 1.对象的创建 **1.**一般情况下创建一个对象,java中使用new关键字。当java虚拟机遇到一条字节码new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那么就先执行相应的类加载过程。 **2.**类加载检查通过后,虚拟机将为新生对象分配内存。根据java堆是否规整,或者所采用的垃圾收集器是否具备空间压缩整理能力,有两种内存分配方式:1.指针碰撞、2.空闲列表。 ...原创 2020-09-07 19:24:22 · 78 阅读 · 0 评论 -
JAVA内存区域——运行时数据区域
运行时数据区域: 1.程序计数器:是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。在JAVA虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 2.JAVA虚拟机栈:虚拟机栈描述的是java方法执行的线程内存模型:每个方法被执行的时候,java虚拟机都会同步创建一个栈帧用于存储局部变量表、操作数栈、动态连接、方法出口等信息。每一个方法...原创 2020-09-07 16:27:14 · 75 阅读 · 0 评论