![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Jvm
文章平均质量分 79
PPDY小芽
这个作者很懒,什么都没留下…
展开
-
如何实线并发的原子性、可见性、有序性
原子性Java内存模型只保证了基本读取和赋值是原子性操作,如果要实现更大范围操作的原子性,可以通过synchronized和Lock来实现。由于synchronized和Lock能够保证任一时刻只有一个线程执行该代码块,那么自然就不存在原子性问题了,从而保证了原子性。可见性Java提供了volatile关键字来保证可见性。当一个共享变量被volatile修饰时,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,它会去内存中读取新值。而普通的共享变量不能保证可见性,因.原创 2022-01-11 23:13:26 · 132 阅读 · 0 评论 -
java的内存屏障
文章目录一、java内存屏障1.1 what?1.2 why?1.3 硬件层的内存屏障1.4 内存屏障的主要类型二.、java内存屏障的使用2.1 java内存屏障使用介绍2.2 volatile实现原理2.2.1 Volatile基本介绍2.2.2 volatile作用2.2.3 volatile与synchronized对比一、java内存屏障1.1 what?内存屏障是一个CPU指令。① 确保一些特定操作执行的顺序② 影响一些数据的可见性编译器和CPU可以保证输出结果一样的情况下对指令重原创 2022-01-11 23:07:57 · 548 阅读 · 0 评论 -
Classfile文件结构解析
文章目录1. magic(魔术)2.class文件版本号3. constant_pool_count4. constant_pool5. access_flag6. this_class7. super_class8. intefaces_count和 intefaces9. fields_count 和 fields10. method_count 和 method11. attribute_count 和 attribute1. magic(魔术)每个Class文件的头4个字节称为魔数(Magi原创 2022-01-09 23:03:28 · 267 阅读 · 0 评论 -
JVM笔记
文章目录一、JVM 基础到入门1.1 JVM基础1.2 从跨平台的语言到跨语言的平台1.3 常见的虚拟机二、Class文件结构2.1 Class file format2.2 Classfile 文件结构解析2.2.1 魔数2.2.2 class文件版本号2.2.3 常量池2.2.4 access_flag2.2.5 this_class2.2.6 super_class2.2.7 ByteCode插件安装2.2.8 常量池详细解析常量类型2.2.8.1 案例解析整个常量池在classfile中是如何表示的原创 2022-01-07 07:14:12 · 417 阅读 · 0 评论