场景1:无限while循环 解决方案:尽量减少无限循环、让循环执行得慢一点(sleep) 场景2:频繁GC 解决方案:降低GC频率 场景3:频繁创建新对象 解决方案:合理使用单例 场景4:序列化和反序列化 https://blog.51cto.com/jianshusoft/766400 解决方案:选择合理的API实现功能、选择好用的序列化/反序列化类库 场景5:正则表达式。原因是正则表达式使用了NFA自动机的引擎,这种引擎在进行字符串匹配的时候会发生回溯,可能导致CPU占用率过高。关于NFA的更多细节及解决方案可以参考下面的文章: https://blog.csdn.net/u013278314/article/details/80916104 场景6:频繁的线程上下文切换 解决方案:降低切换的频率,可能需要结合业务进行改造,复杂度较高 |
|