一、起因
在工作过程种偶然发现的一种情况。 在代码开发过程中,本地运行,发现内存占用过大。
二、解决问题的步骤
现象:
- 本地运行项目,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编辑代码的时候注释中最好不要使用泛型。