![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 68
记录学习jvm一些知识
ABLE.ZHANG
这个作者很懒,什么都没留下…
展开
-
volatile,内存屏障
volatile 内存屏障原创 2023-02-16 20:09:40 · 1035 阅读 · 0 评论 -
JAVA new 一个是如何创建对象的
1 类加载检查当JAVA虚拟机碰到一条new的字节码,首先会去检查指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否被加载、解析和初始化过.如果没有,则进行相对应都类加载过程。2 对象布局在类加载完成后,就进行内存布局,内存的大小在类加载的时候就可以确认大小了,为对象分配空间,其实就是在堆空间划分一块大小出来,存放刚创建的对象。对象的内存分配有两种:指针碰撞,空闲列表(1) 指针碰撞假设java堆内存空间是绝对规整的,所有被使用过的对象都是放在一起,空原创 2021-01-06 22:05:48 · 459 阅读 · 0 评论 -
浅谈 JAVA 常量池
首先,理解下啥子叫常量池, 常量池是一个放入数据的一个堆(JDK1.8中), 如果是重新创建一个相同的数据,则把引用指向常量池. 大致可以这么理解. 常量池要划分的话,那么可以划分为静态常量池和运行时常量池,class常量池不仅仅包括字符和数字这些/字面量。注意:静态常量池再运行时也会写入到运行时的常量池 静态常量池: 指的是再编译的过程中,就能确定...原创 2020-04-07 21:59:29 · 168 阅读 · 0 评论 -
JVM-类加载(一) 符号引用和直接引用
符号引用: 符号引用(Symbolic References):符号引用以一组符号来描述所引用的目标,符号可以是任何形式的字面量,只要使用时能够无歧义的定位到目标即可。例如,在Class文件中它以CONSTANT_Class_info、CONSTANT_Fieldref_info、CONSTANT_Methodref_info等类型的常量出现。符号引用与虚拟机的内存布局无关,引用的目标并不一...原创 2020-04-04 16:59:04 · 854 阅读 · 0 评论