Java并发
未读
SynchronousQueue和LinkedBlockingQueue的区别
无界队列:当 this.queues <= 0 时,使用 SynchronousQueue(无容量,直接传递任务给线程)。 有界队列:当 this.queues > 0 时,使用 LinkedBlockingQueue(固定容量,可缓冲任务)。 关键区别: SynchronousQueue:任务提交
Java并发
未读
synchronized的实现原理
【得分点】 对象头、锁升级 【参考答案】 标准回答 synchronized的底层是采用Java对象头来存储锁信息的,并且还支持锁升级。 Java对象头包含三部分,分别是Mark Word、Class Metadata Address、Array length。其中,Mark Word用来存储对象的
Java并发
未读
submit和execute的区别
1、submit 提交指定的任务去执行并且返回 Future 对象,即执行的结果 2、execute 开启线程,执行池中的任务 3、区别 execute()方法用于提交不
Java并发
未读
shutdown和shutdownNow的区别
1、如何正确关闭线程池 示例: public class ShutDownThreadPoolDemo {
private ExecutorService service = Executors.newFixedThreadPool(10);
public static void m