第85條 其他序列化優(yōu)先于 Java 序列化 避免序列化漏洞被利用的最佳方法是永遠(yuǎn)不要反序列化任何東西 任何新系統(tǒng)中都沒(méi)有理由使用 Java 序...
第83條 慎用延遲初始化 延遲初始化降低了初始化類或者創(chuàng)建實(shí)例的開(kāi)銷,卻增加了訪問(wèn)被延遲初始化的域的開(kāi)銷 在大多數(shù)情況下寺旺,正常的初始化要優(yōu)先于延...
第82條 線程安全性的文檔化 一個(gè)方法中出現(xiàn) synchronized 修飾符活玲,這是個(gè)實(shí)現(xiàn)的細(xì)節(jié)窒朋,并不是 API 的一部分 類為了可以被多個(gè)線程...
第81條 并發(fā)工具優(yōu)先于 wait 和 notify 比較常見(jiàn)的同步器:CountDownLatch暴构、Semaphore想暗、CyclicBarri...
第80條 executor诲宇、task 和 stream 優(yōu)先于線程 等待一個(gè)任務(wù)集合中的任何任務(wù)或者所有任務(wù)完成-> invokeAny或inv...
第78條 同步訪問(wèn)共享的可變數(shù)據(jù) 同步不僅可以阻止一個(gè)線程看到對(duì)象處于不一致的狀態(tài)之中际歼,它還可以保證進(jìn)入同步方法或者同步代碼塊的每個(gè)線程,都看到...
第79條 避免過(guò)度同步 在一個(gè)被同步的區(qū)域內(nèi)部姑蓝,不要調(diào)用設(shè)計(jì)成要被覆蓋的方法鹅心,或者是由客戶端以函數(shù)對(duì)象的形式提供的方法 死鎖的例子:public...
第76條 努力使失敗保持原子性 通常來(lái)講,調(diào)用方法失敗了它掂,應(yīng)該使對(duì)象保持在被調(diào)用之前的狀態(tài) 實(shí)現(xiàn)失敗原子性的方法:設(shè)計(jì)一個(gè)不可變的對(duì)象巴帮。如果對(duì)象...
第75條 在詳細(xì)信息中包含捕獲的失敗信息 異常類型的toString方法應(yīng)該盡可能多地返回有關(guān)失敗原因的信息 為了捕獲失敗,異常的詳細(xì)信息應(yīng)該包...