一线互联网公司Java高级面试题总结
Java重点知识 多线程(线程状态、线程并发,Synchronized与Lock的区别和底层原理,常用的锁及其使用场景和原理,volatile和ThreadLocal解决了什么问题,CAS在Java中的实现线程池原理和实现,阻塞队列和线程安全队列,线程间通信: synchronized + wait、notify/notifyAll, Lock + Condition 的多路复用,CountDownLatch、CyclicBarrier和Semaphore的作用和用法,使用场景)JVM内存管理机制和垃圾回收机制(内存模型、GC策略、算法、分代回收GC类型,Full GC、Minor GC作用范围和触发条件)JVM内存调优(内存调整的6个参数,了解是怎么回事,一般做项目过程中使用较多)设计模式(熟悉常见设计模式的应用场景,会画类图,常用:代理,2个工厂,策略,单例,观察者,适配器,组合与装饰)JAVA集合类框架(理解框架图、HashMap、ArrayList、HashSet等的关系和区别,其中HashMap的存储机制几乎每次都有问)HashMap的原理,底层数据结构,rehash的过程,...
