原创 踩坑--Java從緩存中直接引用集合,報ConcurrentModificationException異常

1、背景 該異常出現的原因是集合的參數發生了變更,一般是因爲集合的長度發生了變化,大量出現在某天晚上的壓測中。 2、原因 因爲我在寫新版功能的時候,我就將某個list直接從本地緩存的兜底中讀取,沒有new一個新的list,只是簡單的引用。

原创 redis expire方式設置緩存時間的坑

最近入職後一直很忙,今天國慶值班,把前段時間遇到的問題拋出來總結一下。 1、背景 在項目中需要記錄用戶的相關狀態,這些狀態會在一天內清除,且又不止0/1這兩種狀態,於是考慮將其放在一個hash的key當中。 但是redis對於hash類型

原创 MySQL-學習

MySQL-學習 MySQL學習筆記 1、事務隔離 隔離級別 讀未提交:一個事務還未提交時,做的變更就可被別的事務看到 讀提交:一個事務提交後,纔可以被其他事務看到 可重複讀:一個事務執行過程中看到的數據,總跟這個事務在啓動時看

原创 Java8的Optional類解決NPE,同時又避免多次if-else

像我這種Java初學者非常容易寫出NPE,爲了避免NPE,會很無奈的使用多次if做判斷,感覺代碼會很難看。 今天偶爾看到了Optional方法,是Java8提供的一種新寫法,覺得很有意思,記錄一下。 通過dubbo的遠程調用會經常寫出這種