你知道 Java 的四個引用嗎?

使用 Java 也有一段時間了,之前一直不知道有 java.lang.ref 這包 package 的存在,直到最近在研究 Java Garbage Collection 的時候,才剛好知道原來 Java 的引用還有細分成四個,分別由強到弱為強引用、軟引用、弱引用和虛引用

Java Garbage Collection 基礎演算法

在大學時 Algorithm, OS, 和 Data Structure 等課程都是使用 C 或 C++ 來當作課程教材的語言。而 C 與 C++ 語言可以擁有很大的掌控權力在 Memory 上,但是一處理不好就容易造成 Memory Leak。讓我印象最深刻的是 Operating System 課程,使用 OS161] 來當作做作業的練習, 而最後一個作業就是實作 Memory Management。大家那時候最害怕遇到的錯誤訊息就是“I can't handle this... I think I'll just die now...“,然後就要開始艱辛的 Debug 路程

Java Optional 基本 & 心得分享

最近我們部門在開發新的微服務都是使用 Java,但許多同事都是寫習慣 PHP 且之前沒有使用過 Java 。由於像 PHP 這種 Script Language 在處理 Undefined Variable 時,只是提示Warning,導致有的同事沒有良好的檢查 null 的習慣。有的同事抱怨 Null Pointer Exception 花了許多的時間在尋找,所以我決定在這次的新專案中,使用 Optional 來減少 Null Pointer Exception。