Java异常体系
Error和Exception的区别

- Error:程序无法处理的系统错误,编译器不做检查
- Exception:程序可以处理异常,捕获后可以恢复
- 总结:前者程序无法处理,后者是可以处理的异常


常见Error和Exception

异常处理体系

finally会在catch块里的return前执行
异常处理原则

高效的异常处理框架

try-catch的性能

Java集合框架


集合之List和Set

集合之Map
HashMap,HashTable,ConccurentHashMap的区别


java8以后,hashMap中的元素为Node
<k,v>[]</k,v>




将Map变成线程安全的
原理和HashTable一样
1 | Collections.synchronizedMap(hashMap); |
如何优化Hashtable?
- 通过锁的细粒度化,将锁拆解为多个锁进行优化

只锁定当前链表或者红黑树的首个节点来实现
sizeCtl:负数代表正在初始化,-1正在初始化,-n n-1 个线程在扩容,正数还未初始化




Java的IO机制
BIO,NIO,AIO的区别





