上次分享了如何透過 Spring CLI 建立 Hello World Application,這邊文章將延續上次的文章繼續產生第一個 endpoint 和產生 Swagger 頁面
前一陣子公司專案讓我有機會使用 Spring Boot 開發,但因為當時專案時間很趕,所以也一直專注在開發上當時開發所需要的技術。由於不熟 Spring Boot or Spring Core,所以用的東西都很基礎。所以我想趁現在好好的充實自己並嘗試寫一個 Spring Boot 系列的文章。
使用 Java 也有一段時間了,之前一直不知道有 java.lang.ref 這包 package 的存在,直到最近在研究 Java Garbage Collection 的時候,才剛好知道原來 Java 的引用還有細分成四個,分別由強到弱為強引用、軟引用、弱引用和虛引用
在大學時 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 路程
這新專案我選擇使用了之前沒使用過的 Jersey Client~ 由於希望分析打到其他服務的 P99 latency,所以我研究了一下怎麼去 log 下來所有的 duration (如果不知道什麼是 P99 latency 可以參考這篇文章 “What is P99 latency?“)。這邊分享一下,我最後使用的方法,由於不太熟 Jersey Client,所以最後也是花了一點時間才找到使用 ClientRequestFilter & ClientResponseFilter 來解決。