Java并发编程
文章平均质量分 94
LuQiaoYa
这个作者很懒,什么都没留下…
展开
-
Java并发编程(五)Java 内存模型相关问题
Java 内存模型相关问题一、什么是 Java 的内存模型,Java 中各个线程是怎么彼此看到对方的变量的?二、主内存和工作内存之间的交互,具体有哪些操作?三、 volatile 有什么特点,为什么它能保证变量对所有线程的可见性?四、既然 volatile 能够保证线程间的变量可见性,是不是就意味着基于 volatile 变量的运算就是并发安全的?五、synchronized和volatile的实现原理六、synchronized和volatile的异同七、请谈谈ThreadLocal实现原理八、Threa原创 2021-01-05 13:53:37 · 196 阅读 · 1 评论 -
Java并发编程(四)Java线程池相关问题
Java线程池一、线程池的实现1.1、各个参数的含义1.2、ThreadPoolExecutor的继承关系1.3、ThreadPoolExecutor的状态变量1.4、任务的执行:execute()方法二、常用的四种线程池2.1、newFixedThreadPool2.2、newCachedThreadPool2.3、newSingleThreadExecutor2.4、newScheduledThreadPool三、线程池的线程是怎么创建的?是一开始就随着线程池的启动创建的吗?四、如何向Java线程池中提原创 2020-12-31 14:17:00 · 212 阅读 · 0 评论 -
Java并发编程(二)CAS无锁算法,ABA问题,悲观锁和乐观锁,AQS同步队列,java中的原子操作类
CAS无锁算法,ABA问题,悲观锁和乐观锁,AQS同步队列,java中的原子操作类一、CAS无锁算法1.1 CAS1.2 CAS存在“ABA”漏洞:1.3 "ABA"问题JDK是如何解决的?1.4 AtomicStampedReference的源代码是如何实现的?二、悲观锁和乐观锁2.1 悲观锁2.2 乐观锁三、AQS同步队列3.1 AQS3.2 AQS定义**两种资源共享方式**:3.3 源码...原创 2019-04-02 11:05:29 · 1345 阅读 · 0 评论 -
Java并发编程(三)可重入锁 ReentrantLock 及其他显式锁相关问题
可重入锁 ReentrantLock 及其他显式锁相关问题1、跟 Synchronized 相比,可重入锁 ReentrantLock 其实现原理有什么不同ReentrantLock 是如何实现可重入性的? 1、跟 Synchronized 相比,可重入锁 ReentrantLock 其实现原理有什么不同 (1)底层实现 synchronized是JVM层面的锁,是java关键字。而ReentrantLock是API层面的互斥锁。 (2)是否可以手动释放 synchronized不需要手动释放,代码执行完之原创 2020-12-30 18:31:46 · 226 阅读 · 2 评论 -
Java并发编程(一)Synchronized相关问题
Synchronized1、Synchronized如何确定对象的锁?2、什么是可重入性,为什么说 Synchronized 是可重入锁?3、可重入锁原理4、JVM 对 Java 的原生锁做了哪些优化?4.1 自旋锁4.2 自适应自旋锁:4.3 锁消除4.4 锁粗化5、为什么说 Synchronized 是非公平锁? 1、Synchronized如何确定对象的锁? 修饰普通方法 对一个成员方法加锁,实际上是以这个成员方法所在的对象本身作为对象锁 修饰静态方法 则表示此方法所在的类为锁对象。 修饰代码块 比原创 2020-12-30 13:48:53 · 176 阅读 · 0 评论