#
java虚拟机内存模型
内存溢出一般发生在哪个区?永久代会不会导致内存溢出?
动态加载类的框架了解哪些?
动态代理一般有哪几种实现方式?动态代理的应用场景有哪些?
栈会不会溢出?栈溢出一般抛什么异常?jvm在哪里设置栈的大小?设置的参数是什么?
jvm的垃圾回收机制?
java类加载机制?如何实现自定义类加载器?findClass与loadClass的区别?
String、StringBuffer、StringBuilder的区别?对应的使用场景?
如何实现不可变的类?
浅复制和深复制?怎样实现深复制?
HashMap、HashTable、ConcurrentHashMap的区别?
CAS是一种什么样的同步机制?
spring加载bean的流程?
java线程池?线程池构造函数的几个参数含义?keepAliveTime解释一下?
一个接口,要去调用另外5个接口,每一个接口都会返回数据给这个调用接口,调用接口要对数据进行合并并返回给上层。这样一种场景可能用到并发包下的哪些类?你会怎么去实现这样的业务场景?
CountDownLatch和CyclicBarrier的区别?
线程加锁有哪些方式?synchronized和lock的区别?
volatile关键字的作用?为什么使用AtomicLong而不使用Long?AtomicLong的底层是怎么实现的?
mysql的存储引擎有哪几种?
sql优化有哪些着手点?组合索引的最左前缀原则的含义?
springmvc处理请求的流程?
spring的事务怎么使用?事务回滚?自定义异常?
脏读?幻读?
tcp四次挥手的过程?TIME_WAIT为什么至少设置两倍的MSL时间?
了解哪些开源的中间件?缓存?消息?分布式框架?
用到过哪些设计模式?单例模式的实现?
数据库的脏读,幻读,不可重复读出现的原因原理,解决办法
数据库的隔离级别、MVCC
乐观锁、悲观锁、互斥锁、读写锁的原理实现与区别
一致性hash算法原理与应用
CAP原则
- 一致性
- 可用性
- 有效性
CAS操作
- 在多线程的时候 当使用外置锁的时候 会用到CAS操作
map想过面试题
- 新建 Map map = new HashMap() 不占内存
- 使用put的时候 才开始开辟内存
- jdk7:数组+链表
- jdk8:数组+链表+红黑树 链表的长度大于8 –>红黑树 <–链表长度小于6