性能优化的一些经验与教训

1:不用Log4j1的日志,因为往日志文件写日志时,会争抢锁,导致线程阻塞,使用Log4j2,而且要使用它的异步方式;

2:基于内存的服务,一般使用Map来保存数据,这样更新数据时,如果是大批量更新的话,最好不要采用对象完全替换的方式,因为这样的话,老对象就编程了垃圾,会导致对老年代的回收,产生Full GC,最好是只更新变化了的字段信息,这样新对象在young gc 就会被回收,而不会产生full gc;

3:当数据更新不频繁时,可以使用LocalCache + Redis的方式来提高吞吐量和减少响应时间;

4:要经常注意系统的GC指标,如youngc的频率和时间,fullgc的频率和时间等;

 

 

越努力,越幸运,欢迎关注我的个人技术公众号

深耕java领域,技术专家,CSDN博客专家,联系我请去 微信公众号:波哥的技术积累,回复“资料”,会有意外惊喜,包含面试题,系统架构图,并发包源码分析等资料,而且波哥老师的视频教程【Java并发包源码分析(JDK1.8)】即将免费,https://edu.csdn.net/course/detail/22039,大家有对JUC源码感兴趣的,可以去学习,有问题微信联系,会及时解答

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页