2021 年九月最新 Java 面试必背八股文,338 道最新大厂架构面试题
我:ConcurrentHashMap 线程安全,LinkedHashMap 可以记录插入顺序和访问顺序,TreeMap 可以自定义排序,除了这几个场景,其他场景基本都可以使用 HashMap
面试官:ConcurrentHashMap 怎么保证线程安全
我:JDK 1.8 以前通过分段锁,JDK 1.8 以后通过 CAS + Synchronized
面试官:ConcurrentHashMap 在 JDK 1.8 前后的锁有什么区别
我:JDK 1.8 以前锁分段,JDK 1.8 以后锁单个节点,锁粒度降低,并发度变高
java 基础
Arrays.sort 实现原理和 Collection 实现原理
foreach 和 while 的区别(编译之后)
线程池的种类,区别和使用场景
分析线程池的实现原理和线程的调度过程
线程池如何调优
线程池的最大线程数目根据什么确定
动态代理的几种方式
HashMap 的并发问题
了解 LinkedHashMap 的应用吗
反射的原理,反射创建类实例的三种方式是什么?
cloneable 接口实现原理,浅拷贝 or 深拷贝
Java NIO 使用
hashtable 和 hashmap 的区别及实现原理,hashmap 会问到数组索引,hash 碰撞怎么决
arraylist 和 linkedlist 区别及实现原理
反射中,Class.forName 和 ClassLoader 区别
String,Stringbuffer,StringBuilder 的区别?
有没有可能 2 个不相等的对象有相同的 hashcode
简述 NIO 的最佳实践,比如 netty,mina
TreeMap 的实现原理
参考视频:
多线程、锁
=====
线程池使用的是哪种
线程池参数怎么配置
线程池各个参数的作用
线程池的参数配置要注意什么
线程池的工作流程
JDK 中的并发类知道哪些
AQS 的底层原理
介绍下悲观锁和乐观锁
使用过哪些锁
synchronized 和 Lock 的区别、使用场景
synchronized 原理
synchronized 作用于静态方法、普通方法、this、Lock.class 的区别
为什么引入偏向锁、轻量级锁,介绍下升级流程
死锁的必要条件,如何预防死锁
介绍下 CountDownLatch 和 CyclicBarrier
介绍下 CAS,存在什么问题
介绍下 ThreadLocal,存在什么问题
参考视频:
JVM
===
运行时数据区
服务器使用的什么垃圾收集器
CMS 垃圾收集的原理
G1 垃圾收集的特点,为什么低延迟
有哪些垃圾回收算法,优缺点
哪些对象可以作为 GC Roots
有哪些类加载器
双亲委派模式,哪些场景是打破双亲委派模式
线上服务器出现频繁 Full GC,怎么排查
定位问题常用哪些命令
介绍下 JVM 调优的过程
参考视频:
Spring
======
Spring AOP 与 IOC 的实现原理
Spring 的 beanFactory 和 factoryBean 的区别
为什么 CGlib 方式可以对接口实现代理?
RMI 与代理模式
Spring 的事务隔离级别,实现原理
对 Spring 的理解,非单例注入的原理?它的生命周期?循环注入的原理,aop 的实现原理,说说 aop 中的几个术语,它们是怎么相互工作的?
Mybatis 的底层实现原理
MVC 框架原理,他们都是怎么做 url 路由的
spring boot 特性,优势,适用场景等
quartz 和 timer 对比
spring 的 controller 是单例还是多例,怎么保证并发的安全
参考视频:
评论