一、起因
在工作過程種偶然發現的一種情況。 在代碼開發過程中,本地運行,發現內存佔用過大。
二、解決問題的步驟
現象:
- 本地運行項目,IDEA運行的過程中,CPU瞬間直到100%
- 內存伴隨CPU一起提升。
- IDEA 提示文件過大超過6M。
- 後續再次提示文件過大超過10M。
解決問題過程:
- IDEA 在啓動的過程中對代碼進行解析,假如文件過大就是提高CPU的利用率。
- 定位問題,在6M到10M的過程中做了什麼操作。
在編輯代碼的過程中對代碼進行了格式化操作 Ctrl+Alt+L。 - 定位問題,爲什麼格式化操作會造成文件變大。隨後發現格式化操作會對帶泛型的註解增加空格。示例:
/**
* @param map
* @return Map<String , String>
*/
public Map<String, String> getMap(HashMap<String, String> map) {
return map;
}
假如進行格式化Ctrl+Alt+L操作,就會在@return 後的Map<String,String>泛型中增加空格。最終使文件變大,佔用內存和CPU。
三、總結
編輯代碼的時候儘量規範,IDEA編輯代碼的時候註釋中最好不要使用泛型。