ThreadLocal
内置N个ThreadLocalMap 根据当前Thread对象获取到Map,key是当前ThreadLocal对象, value是对应的值 实现线程变量私有化 。
synchronized reentrantlock
reentrantlock是jdk1.5推出来的 对比 synchronized 能够实现非阻塞是获取锁 以及中断锁 配合Condition能更灵活实现并发编程 但是需要自己收到加锁以及释放锁 synchronized则是隐式释放锁
hashMap hashTable ConcurrentHashMap
JVM
GC算法:复制,标记清除。标记整理。引用计数;
GC收集器:
数据库数据存储结构:
ClassLoader:BootstrapClassLoader,ExtensionClassLoader,AppClassLoader;
ClassLoader加载机制:当ClassLoader加载class时,先检查是否已加载过,然后递归找父ClassLoader进行加载,如果没有父ClassLoader,则直接找到BootstrapClassLoader;如果都加载失败,则当前classloader调用findClass方法进行加载。这种加载机制也叫双亲委托;
双亲委托机制的好处:1,避免重复加载;2,安全性考虑。防止覆盖核心类库或扩展库
Spring bean生命周期
TOP K问题:最大堆,或者数组