![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 92
suvue
代码改变世界
展开
-
线程安全之原子操作
可见性问题:让一个线程对共享变量的修改,能够及时的被其他线程看到。根据 JMM 中规定的happen before 和 同步原则:对某个volatile字段的写操作 happens-before 每个后续对该volatile 字段的读操作。对volatile变量 v 的写入,与所有其他线程后续对 v 的读同步。要满足这些条件,所以volatile关键字就有这些功能:禁止缓存对vola...原创 2020-02-10 19:05:49 · 598 阅读 · 0 评论 -
锁的概念和synchronizated关键字
1. Java中锁的概念锁类型描述自旋锁为了不放弃CPU执行事件,循环地使用CAS技术对数据尝试进行更新,直至成功悲观锁假定会发生并发冲突,同步所有对数据的相关操作,从读数据就开始上锁乐观锁假定没有冲突,在修改数据时如果发现数据和之前获取的不一致,则读最新数据,修改后重试修改独享锁(写)给资源加上写锁,线程可以修改资源,其他线程不能再加锁(单写)...原创 2020-02-09 17:14:56 · 434 阅读 · 0 评论 -
Java并发相关知识集锦
1.class文件class文件包含JAVA程序执行的字节码;数据严格按照格式(虚拟机要求的一种规范)紧凑排列在class文件中的二进制流,中间无任何分隔符;文件开头有一个0xcafebabe(16进制)特殊的一个标志。这类文件专门给JVM读里面的内容,因此具有很复杂的格式,程序员阅读可以进行工具查看。1.1查看class文件内容Demo1.class的内容如下:public class...原创 2020-02-09 10:52:07 · 538 阅读 · 0 评论