,在调用defaultReadObject后,恢复成可接受的值/或者延迟初始化....,永远不要放弃对客户端的控制,在被同步的区域内不要设计成要被覆盖的方法,或者客户端以函数对象的形式提供的方法
锁是可重入的,但是会将火活性失败转换为安全性失败
快照CopyOnWriteArrayList...{obj.wait()}的wait循环模式来调用wait方法:永远不要循环之外调用wait
notify唤醒的是某个正在等待的线程,notifyAll等待是所有正在等待的线程,总应该使用notifyAll...没有理由在新的代码中使用notify/wait,如果必须使用那么就用wait循环模式,并优先使用notifyAll
线程安全的文档化
不可变类:immutable, String Long BigInteger...接口优于抽象类
优点:容易更新实现新的接口,定义mixxin混合类型,构造非层次结构的类型框架.