读取和赋值是原子化操作,使用synchronized和lock
不可变:final,String,枚举,number如Long,Double,Bigdecimal和Biginterger
大部分的线程安全类都属于相对线程安全vector,HashTable
API中大部分的类都是线程兼容的ArrayList,HashMap
线程安全:互斥同步,非阻塞同步
实现方法
- 互斥同步: synchronized 和 ReentrantLock
- 非阻塞同步: CAS, AtomicXXXX
- 无同步方案: 栈封闭,Thread Local,可重入代码
JUC锁,集合,线程池,工具类
IO
字节流 utf8 3个字节
文件,数组,管道操作,基本数据类型,缓冲操作,打印,对象序列化反序列化,转化
Unix IO模型:
- 阻塞式 I/O
- 非阻塞式 I/O
- I/O 复用(select 和 poll)
- 信号驱动式 I/O(SIGIO)
- 异步 I/O(AIO)