2.3.2
重入:由于内置锁是可以重入的,因此如果某个线程试图获取一个自己已经持有的锁那么这个请求就会成功。重入意味着获取锁的操作粒度是线程而不是调用。
2.4:锁来保护状态
对于可能被多个线程同时访问的可变状态变量,在访问它时都需要持有同一个锁在这种情况下。我们称状态变量是有这个锁保护的
3.2:发布与溢出。发布一个对象的意思:使对象能够在当前作用域之外的代码中使用。如,将一个指向该对象的引用保存到其它的代码可以访问的地方,或者在某一个非私有的方法中返回该引用。 逸出: 当某个不应该被发布的对象被发布。 public static Set<Secret> knownSecrets; public void initialize() { knownSecrets = new HashSet<Secret>(); } 安全的对象构造过程 :当且仅当对象的构造函数返回时对象才处于可预测的和一致的状态。当从对象的构造函数中发布对象的时候,只是发布了一个尚未构造完成的对象。【如果this引用在构造过程中逸出,那么这种对象就被认为是不正确的构造。】【不要在构造过程让this逸出】