歡迎光臨
每天分享高質量文章

Java Web技術經驗總結(十六)

  1. 使用Java讀取檔案時,要評估檔案的大小,避免因為檔案過大而造成OOM,參見:Java高效讀取檔案

  2. RateLimiter可以用來限制請求的速率,有兩種應用場景:針對一些核心接口,在參與大促(雙十一)等活動時,為了避免服務被突然暴漲的流量打掛,需要限流;在進行資料遷移或資料掃描時,為了避免對DB的壓力過大,也需要限流。

  3. 在Linux下要求兩個檔案的差集:grep -F -v -f b.txt a.txt | sort | uniq,參考:LINUX Shell 下求兩個檔案交集和差集的辦法

  4. logback配置,將不同級別的日誌輸入到不同檔案(或日誌平臺)中,參考:logback日誌輸出不同級別到不同檔案(開發實體配置)。這篇文章中是將四個級別的日誌放在不同檔案中,所以使用了LevelFilter,我今天遇到的需求是:本地只打印WARN以上級別的日誌,日誌平臺打印INFO級別上的日誌,所以不能使用LevelFilter,應該使用ThresholdFilter配置對應的Appender。

  5. 為什麼JavaAPI的傳回值中不能包含列舉類,或者不能含有包含列舉類的POJO物件?答:當服務端更新了列舉類的個數,反序列化的時候,老的呼叫方會出錯。參考:Link

  6. 使用了一個物件來把各引數傳入進去,是多引數查詢接口設計的不錯範例

  7. replace、replaceFirst和replaceAll的區別?!

  8. mybatis中,傳回值為物件時,如果查不到對應的記錄則傳回Null,傳回值為List

    時,如果查不到記錄則傳回空陣列

  9. Java Web如何從HttpRequest中獲取客戶端的IP地址?參考:從HttpRequest中獲取IP地址

  10. IP地址和Long互相轉換?訴求是:便於索引和IP校驗,可以根據數值範圍驗證客戶端IP的有效性。參考:JAVA【long值與ip地址互轉】 – ip的判別

赞(0)

分享創造快樂