发面经攒人品~ 首先自我介绍,介绍完就让我写一个单例模式,然后我写的双检锁,写完问为什么要两次判断==null,为什么要用volatile 然后说到了处理器指令重排、内存屏障,问处理器一般会怎么指令重排,是问重排序的三种:编译器优化的重排序、指令级并行的重排序和内存系统的重排序; 问synchronized底层实现,偏向锁、自旋锁、轻量级锁、重量级锁,能否从重量级到轻量级,synchronized加在类和方法上的区别;为什么是可重入的?不可中断解释一下。 final域修饰字段能保证线程安全?为什么? list的线程安全集合知道哪些?CopyOnwriteAarr...