无题
Java 并发 && 多线程
- synchronized 的实现原理以及锁优化?
- ThreadLocal原理,使用注意点,应用场景有哪些?
- synchronized和ReentrantLock的区别?
- 说说CountDownLatch与CyclicBarrier 区别
- Fork/Join框架的理解
- 为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?
- Java中的volatile关键是什么作用?怎样使用它?在Java中它跟synchronized方法有什么不同?volatile 的实现原理
- CAS?CAS 有什么缺陷,如何解决?
- 如何检测死锁?怎么预防死锁?死锁四个必要条件
- 如果线程过多,会怎样?
- 说说 Semaphore原理?
- AQS组件,实现原理
- 假设有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
- LockSupport作用是?
- Condition接口及其实现原理
- 说说并发与并行的区别?
- 为什么要用线程池?Java的线程池内部机制,参数作用,几种工作阻塞队列,线程池类型以及使用场景
- 如何保证多线程下 i++ 结果正确?
- 10 个线程和2个线程的同步代码,哪个更容易写?
- 什么是多线程环境下的伪共享(false sharing)?
- 线程池如何调优,最大数目如何确认?
- Java 内存模型?
- 怎么实现所有线程在等待某个事件的发生才会去执行?
- 说一下 Runnable和 Callable有什么区别?
- 用Java编程一个会导致死锁的程序,你将怎么解决?
- 线程的生命周期,线程的几种状态。
- ReentrantLock实现原理
- java并发包concurrent及常用的类
- wait(),notify()和suspend(),resume()之间的区别
- FutureTask是什么?
- 一个线程如果出现了运行时异常会怎么样
- 生产者消费者模型的作用是什么
- ReadWriteLock是什么
- Java中用到的线程调度算法是什么?
- 线程池中的阻塞队列如果满了怎么办?
- 线程池中 submit()和 execute()方法有什么区别?
- 介绍一下 AtomicInteger 类的原理?
- 多线程锁的升级原理是什么?
- 指令重排序,内存栅栏等?
- Java 内存模型 happens-before原则
- 公平锁/非公平锁
- 可重入锁
- 独享锁、共享锁
- 偏向锁/轻量级锁/重量级锁
- 如何保证内存可见性
- 非核心线程延迟死亡,如何实现?
- ConcurrentHashMap读操作为什么不需要加锁?
- ThreadLocal 如何解决 Hash 冲突?
- ThreadLocal 的内存泄露是怎么回事?
- 为什么ThreadLocalMap 的 key是弱引用,设计理念是?
- 同步方法和同步代码块的区别是什么?
- 在Java中Lock接口比synchronized块的优势是什么?如果你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?
- 用Java实现阻塞队列。
- 用Java写代码来解决生产者——消费者问题。
- 什么是竞争条件?你怎样发现和解决竞争?
- 为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?
- Java中你怎样唤醒一个阻塞的线程?
- 什么是不可变对象,它对写并发应用有什么帮助?
- 你在多线程环境中遇到的共同的问题是什么?你是怎么解决它的?
- Java 中能创建 volatile数组吗
- volatile 能使得一个非原子操作变成原子操作吗
- 你是如何调用 wait()方法的?使用 if 块还是循环?为什么?
- 我们能创建一个包含可变对象的不可变对象吗?
- 在多线程环境下,SimpleDateFormat是线程安全的吗
- 为什么Java中 wait 方法需要在 synchronized 的方法中调用?
- BlockingQueue,CountDownLatch及Semeaphore的使用场景
- Java中interrupted 和 isInterruptedd方法的区别?
- 怎么检测一个线程是否持有对象监视器
- 什么情况会导致线程阻塞
- 如何在两个线程间共享数据
- Thread.sleep(1000)的作用是什么?
- 使用多线程可能带来什么问题
- 说说线程的生命周期和状态?
- 什么是上下文切换
- Java Monitor 的工作机理
- 按线程池内部机制,当提交新任务时,有哪些异常要考虑。
- 线程池都有哪几种工作队列?
- 说说几种常见的线程池及使用场景?
- 使用无界队列的线程池会导致内存飙升吗?
- 为什么阿里发布的 Java开发手册中强制线程池不允许使用 Executors 去创建?
- Future有缺陷嘛?
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 每天都不一样!