并发编程-常见问题

  1. 多个线程同时读写,读线程的数量远远⼤于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁?

  2. JAVA的AQS是否了解,它是⼲嘛的?

  3. 除了synchronized关键字之外,你是怎么来保障线程安全的?

  4. 什么时候需要加volatile关键字?它能保证线程安全吗?

  5. 线程池内的线程如果全部忙,提交⼀个新的任务,会发⽣什么?队列全部塞满了之后,还是忙,再提交会发⽣什么?

  6. Tomcat本身的参数你⼀般会怎么调整?

  7. synchronized关键字锁住的是什么东⻄?在字节码中是怎么表示的?在内存中的对象上表现为什么?

  8. wait/notify/notifyAll⽅法需不需要被包含在synchronized块中?这是为什么?

  9. ExecutorService你⼀般是怎么⽤的?是每个service放⼀个还是⼀个项⽬⾥⾯放⼀个?有什么好处?