ITEM 90: CONSIDER SERIALIZATION PROXIES INSTEAD OF SERIALIZED INSTANCES??正如在iten 85 和 i...
ITEM 90: CONSIDER SERIALIZATION PROXIES INSTEAD OF SERIALIZED INSTANCES??正如在iten 85 和 i...
ITEM 89: FOR INSTANCE CONTROL, PREFER ENUM TYPES TOREADRESOLVE??item 3 描述了单例模式,并给出了下面的单...
ITEM 88: WRITE READOBJECT METHODS DEFENSIVELY??item 50 包含一个具有可变私有日期字段的不可变日期范围类。这个类通过在它的...
ITEM 87: CONSIDER USING A CUSTOM SERIALIZED FORM??当您在时间压力下编写类时,通常应该将精力集中在设计最佳API上。有时,这意...
ITEM 86: IMPLEMENT SERIALIZABLE WITH GREAT CAUTION??允许序列化类的实例就像在其声明中添加单词 implements Ser...
ITEM 85: PREFER ALTERNATIVES TO JAVA SERIALIZATION??1997年将序列化添加到 Java 中时,人们知道它有一定的风险。这种...
ITEM 84: DON’T DEPEND ON THE THREAD SCHEDULER??当许多线程是可运行的时,线程调度程序决定哪些线程可以运行以及运行多长时间。任何合...
ITEM 83: USE LAZY INITIALIZATION JUDICIOUSLY??延迟初始化是将字段的初始化延迟到需要它的值时。如果不需要该值,则不会初始化该字段。...
ITEM 82: DOCUMENT THREAD SAFETY??当类的方法被并发使用时,类的行为是它与客户端的契约的一个重要部分。如果您没有记录类的这方面行为,它的用户将被...
ITEM 81: PREFER CONCURRENCY UTILITIES TO WAIT AND NOTIFY??这本书的第一版专门介绍了如何正确使用 wait 和 not...
ITEM 80: PREFER EXECUTORS, TASKS, AND STREAMS TO THREADS??这本书的第一版包含一个简单工作队列的代码[Bloch01,...
ITEM 79: AVOID EXCESSIVE SYNCHRONIZATION??item 78 警告了同步不足的危险,这一项涉及相反的问题:根据不同的情况,过度的同步可能...
ITEM 78: SYNCHRONIZE ACCESS TO SHARED MUTABLE DATA??synchronized 关键字确保了一次只能有一个线程执行一个方法或...
ITEM 77: DON’T IGNORE EXCEPTIONS??虽然这个建议看起来很明显,但它经常被违背,因此需要重复。当API的设计者声明一个抛出异常的方法时,他们试图...
ITEM 76: STRIVE FOR FAILURE ATOMICITY??即使在一个对象在执行操作的过程中发生了故障,抛出异常之后,通常也希望该对象仍然处于定义良好的可用...
ITEM 75: INCLUDE FAILURE-CAPTURE INFORMATION IN DETAIL MESSAGES??当程序由于未捕获的异常而失败时,系统自动打印...
ITEM 74: DOCUMENT ALL EXCEPTIONS THROWN BY EACH METHOD??对方法抛出的异常的描述是该方法文档的重要部分。因此,花时间仔细...
ITEM 73: THROW EXCEPTIONS APPROPRIATE TO THE ABSTRACTION??当一个方法抛出一个与它执行的任务没有明显连接的异常时,这是...
ITEM 72: FAVOR THE USE OF STANDARD EXCEPTIONS??出色的程序员与经验不足的程序员之间的一个区别是,专家竭尽可能的实现高度代码重用。...
ITEM 71: AVOID UNNECESSARY USE OF CHECKED EXCEPTIONS??许多Java程序员不喜欢检查异常,但如果使用得当,它们可以改进 A...