![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
Forward233
砥砺前行,不忘初心
展开
-
JVM Happens-Before 先行发生原则
JVM先行发生原则如果Java内存模型中所有的有序性都仅靠volatile和synchronized来完成, 那么有很多操作都将会变得非常啰嗦, 但是我们在编写Java并发代码的时候并没有察觉到这一点, 这是因为Java语言中有一个“先行发生”(Happens-Before) 的原则。 这个原则非常重要, 它是判断数据是否存在竞争, 线程是否安全的非常有用的手段。 依赖这个原则, 我们可以通过几条简单规则一揽子解决并发环境下两个操作之间是否可能存在冲突的所有问题, 而不需要陷入Java内存模型苦涩难懂的定原创 2020-12-27 12:44:28 · 236 阅读 · 0 评论 -
Synchronized方法锁、对象锁、类锁区别
synchronized关键字,我们一般称之为”同步锁“,用它来修饰需要同步的方法和需要同步代码块,默认是当前对象作为锁的对象。在修饰类时(或者修饰静态方法),默认是当前类的Class对象作为所的对象故存在着方法锁、对象锁、类锁 这样的概念一.Synchronized方法锁(也叫对象锁)1.修饰在方法上,多个线程调用同一个对象的同步方法会阻塞,调用不同对象的同步方法不会阻塞。(java对象的内...转载 2020-03-06 07:45:23 · 880 阅读 · 0 评论