面试内容杂记

ThreadLocal 

内置N个ThreadLocalMap 根据当前Thread对象获取到Map,key是当前ThreadLocal对象, value是对应的值 实现线程变量私有化 。

synchronized reentrantlock

reentrantlock是jdk1.5推出来的 对比 synchronized 能够实现非阻塞是获取锁 以及中断锁 配合Condition能更灵活实现并发编程 但是需要自己收到加锁以及释放锁 synchronized则是隐式释放锁

hashMap hashTable  ConcurrentHashMap

JVM

GC算法:复制,标记清除。标记整理。引用计数;

GC收集器:

数据库数据存储结构:

面试内容杂记_第1张图片


ClassLoader:BootstrapClassLoader,ExtensionClassLoader,AppClassLoader;

ClassLoader加载机制:当ClassLoader加载class时,先检查是否已加载过,然后递归找父ClassLoader进行加载,如果没有父ClassLoader,则直接找到BootstrapClassLoader;如果都加载失败,则当前classloader调用findClass方法进行加载。这种加载机制也叫双亲委托;

双亲委托机制的好处:1,避免重复加载;2,安全性考虑。防止覆盖核心类库或扩展库


Spring bean生命周期


面试内容杂记_第2张图片


TOP K问题:最大堆,或者数组

你可能感兴趣的:(面试内容杂记)