文章 2024-08-21 来自:开发者社区

【多线程面试题十七】、如果不使用synchronized和Lock,如何保证线程安全?

面试官:如果不使用synchronized和Lock,如何保证线程安全?** 参考答案: 1、volatile volatile关键字为域变量的访问提供了一种免锁机制,使用volatile修饰域相当于告诉虚拟机该域可能会被其他线程更新,因此每次使用该域就要重新计算,而不是使用寄存器中的值。需要注意的...

文章 2024-08-21 来自:开发者社区

【多线程面试题十五】、synchronized可以修饰静态方法和静态代码块吗?

面试官:synchronized可以修饰静态方法和静态代码块吗?** 参考答案: synchronized可以修饰静态方法,但不能修饰静态代码块。 当修饰静态方法时,监视器锁(monitor)便是对象的Class实例,因为Class数据存在于永久代,因此静态方法锁相当于该...

文章 2024-08-21 来自:开发者社区

【多线程面试题十四】、说一说synchronized的底层实现原理

面试官:说一说synchronized的底层实现原理** 参考答案: 一、synchronized作用在代码块时,它的底层是通过monitorenter、monitorexit指令来实现的。 monitorenter:每个对象都是一个监视器锁(monitor),当monitor被占用时就会处于锁定状...

文章 2024-08-21 来自:开发者社区

【多线程面试题十三】、说一说synchronized与Lock的区别

面试官:说一说synchronized与Lock的区别** 参考答案: 1、synchronized是Java关键字,在JVM层面实现加锁和解锁;Lock是一个接口,在代码层面实现加锁和解锁。 2、synchronized可以用在代码块上、方法上;Lock只能写在代码里。 3、synchronized在代码执行完...

文章 2024-05-09 来自:开发者社区

【Java多线程】面试常考——锁策略、synchronized的锁升级优化过程以及CAS(Compare and swap)

1、锁的策略 加锁过程中,处理冲突的过程中,涉及到的一些不同的处理方式,就叫锁的策略。 1.1、乐观锁和悲观锁 乐观锁 在加锁之前,预估当前出现锁冲突的概率不大,因此在进行加锁的时候就不会做太多的工作。 由于加锁过程中做的事情比较少,加锁的速度可能就更快,但是更容易引入一些其他的问题(消耗更多cpu资源)。 ...

【Java多线程】面试常考——锁策略、synchronized的锁升级优化过程以及CAS(Compare and swap)
文章 2024-04-12 来自:开发者社区

多线程编程常见面试题讲解(锁策略,CAS策略,synchronized原理,JUC组件,集合类)(下)

多线程编程常见面试题讲解(锁策略,CAS策略,synchronized原理,JUC组件,集合类)(上) https://developer.aliyun.com/article/1480727?spm=a2c6h.13148508.setting.14.5f4e4f0eLGd5Sm "跑起来就有意义" 作者:Mylvzi 文章主要内容:多线程编程常见...

多线程编程常见面试题讲解(锁策略,CAS策略,synchronized原理,JUC组件,集合类)(下)
文章 2024-04-12 来自:开发者社区

多线程编程常见面试题讲解(锁策略,CAS策略,synchronized原理,JUC组件,集合类)(上)

"跑起来就有意义" 作者:Mylvzi 文章主要内容:多线程编程常见面试题讲解 hello各位朋友们,最近笔者刚刚结束了学校的期末考试,现在回来继续更新啦!!! 今天要学习...

多线程编程常见面试题讲解(锁策略,CAS策略,synchronized原理,JUC组件,集合类)(上)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。