Effective Java中文版(第3版)精華心得筆記,最容易理解的筆記沒有之一

整理Effective Java心得筆記大全 這本Effective Java號稱java四大名著之一,由於這本書的寫作方式偏程式思維,其中用了很多形容詞還跳來跳去,常常提到一個概念就會請你參考某某小節,所以在學習時候會遇到很多困難,很難把每一小節完整吸收,讀完整個第章節還是會感覺零零碎碎沒有成就感。 技術
Read more

Effective Java Item9 傾向使用try-with-resources勝過於try-finally

整理Effective Java書中Item 9: Prefer try-with-resources to try-finally心得筆記

主旨

蠻多lib提供使用資源後必須手動呼叫close關閉資源,符合開閉原則(OCP),但往往就有人沒有好好遵守,最後造成記憶體洩漏問題。

Read more

Effective Java Item8 避免使用finalizers和cleaners

整理Effective Java書中Item 8: Avoid finalizers and cleaners心得筆記

主旨

開門見山提到finalizers是不可預測行為、危險的並且也是不並要的。不當使用可能會導致不穩定的行為、糟糕的效能以及其他問題。在Java9已經把finalizers換成cleaners了,雖然cleaners比finalizers危險性較小,但還是一樣有無法預測、效能差等問題,很多開發者看完這段還是不清楚書中到底要說什麼。繼續研究下去。

Read more

Effective Java Item7 移除不需要的物件引用

整理Effective Java書中Item 7: Eliminate obsolete object references心得筆記

主旨

由於Java有GC的機制,很多時候開發者不會考慮到記憶體管理或著覺得不需要考慮,這是錯誤的觀念,如果忽略可能導致潛在memory leak問題,必須重視。

Read more

Effective Java Item6 避免不必要的創建物件

整理Effective Java書中Item 6: Avoid creating unnecessary objects心得筆記

主旨

如果是不可變的物件(Immutable object),重複使用該物件可以讓效能以及資源控制更好,例如之前提到的靜態工廠方法Boolean.valueOf(String)

點出問題

  1. 底層封裝了處理方式

問題在於很多開發者不知道其實自己已經不自覺創了很多物件,尤其是java開發者在現在調用api便利的情況下,也沒有去探究底層原理,積少成多造成系統壓力。下面範例判斷字符串是否為有效的羅馬數字。

Read more