一、性能优化的类型

1、使用更高效的算法

2、减少锁竞争

3、为算法生成更有效率的代码

二、CPU的使用

用BufferedOutputStream 替代直接的 FileOutputStream

利用缓冲、NIO改善磁盘与网络的IO瓶颈。

三、锁竞争

利用ConcurrentHashMap 替代 Hashtable,java.util.concurrent.包中的类替代旧的同步类。

利用原子类的CompareAndSet 操作替代旧的 synchronized 块,因为它是由专用的CPU指令完成的。

利用ThreadLocal ,不为每个线程生成一个对象。

四、volatile 的使用

volatile很耗资源,不可滥用。


五、调整数据结构的大小

为StringBuffer、StringBuilder 指定初始容量,避免容量调整时候要将数据复制到新数组、废弃老数组。

为List、Set、Map指定初始容量,避免容量调整时候要将数据复制到新数组、废弃老数组。


六、增加并行性

使用多线程增加并行性。使用线程池ExecutorService复用线程。


七、过高的CPU使用率


八、其他有用的分析提示



转载于:https://www.cnblogs.com/leeeee/p/7276245.html

笔记:Java 性能优化权威指南 第6章 Java 应用性能分析技巧相关推荐

  1. [原创]Java性能优化权威指南读书思维导图

    [原创]Java性能优化权威指南读书思维导图 书名:Java性能优化权威指南 原书名:Java performance 作者: (美)Charlie Hunt    Binu John 译者: 柳飞 ...

  2. java性能优化权威指南_Java性能优化权威指南 PDF扫描[132MB]

    Java性能优化权威指南主要为Java SE 和Java EE 应用的性能调优提供建议.主要包括以下几方面:性能监控.性能分析.Java HotSpot VM 调优.高效的基准测试以及Java EE ...

  3. Java性能优化权威指南--笔记

    出处:http://xiongpq.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 原文 ...

  4. Java性能优化权威指南-读书笔记(一)-操作系统性能监控工具

    一:CPU 1. 用户态CPU是指执行应用程序代码的时间占总CPU时间的百分比. 系统态CPU是指应用执行操作系统调用的时间占总CPU时间的百分比.系统态CPU高意味着共享资源有竞争或者I/O设备之间 ...

  5. 死磕Java多线程(五)---理解CPU高速缓存的工作原理 《JAVA性能优化权威指南》 提到过CPU高速缓存未命中率影响线程切换频率

    https://blog.csdn.net/weixin_44046437/article/details/99101180

  6. Java性能优化指南(一)

    2015年在大物流项目中,给项目团队做了几次Java性能优化和问题排查的分享,不过效果都不是很好.一直觉得偏向技术实践类的东西,单纯的听和单纯的讲收获都很有限,最好的做法是阅读学习-理解-实践-总结, ...

  7. 赠书:《Java性能优化实践》,众多业内大佬推荐阅读

    没有捷径可走的 Java 性能优化 多年来,用 Google 搜索 Java performance tuning,出现的三篇最热门文章之一是于 1997 年到 1998 年左右发表的文章,这篇文章在 ...

  8. 新书上市 | 《Java性能优化实践》,众多业内大佬推荐阅读

    没有捷径可走的 Java 性能优化 多年来,用 Google 搜索 Java performance tuning,出现的三篇最热门文章之一是于 1997 年到 1998 年左右发表的文章,这篇文章在 ...

  9. Java性能优化指南,及唯品会的实战

    来了唯品会一年多,不少时间花在与服务化框架.业务应用的性能的缠斗上. 前几天正好趁着中生代社区的十月十城技术沙龙,把脑海中关于性能优化的记忆全部理了一遍-.讲完回家,又本着认真严谨的态度再理了一遍,终 ...

最新文章

  1. tf.lookup.StaticHashTable 用法
  2. python控制树莓派led_Python 控制树莓派 GPIO 输出:控制 LED 灯
  3. 创建用户赋权限_MySQL实战第84篇:MySQL数据库添加用户和赋权限,在8.0版本!
  4. VMware 9 安装 Mac OS X 10.8 Mountain Lion 图文全程
  5. [剑指offer][JAVA]面试题第[11]题[旋转数组的最小数字][二分法][分治]
  6. 六种PHP图片上传重命名方案研究与总结
  7. 关于Java的多线程Runnable的个人理解(基础,不讲概念)
  8. linux配置java环境变量(详细)(转)
  9. 计算机病毒黑色星期五制造者,计算机病毒复习资料
  10. ArcPad 8 简介
  11. 如何修改Tomcat默认端口号
  12. 未来教育计算机上机题库,未来教育版计算机二级C语言上机题库(含答案)
  13. Android Room 数据访问对象(DAO)详解
  14. 泛微文书定确保电子档案移交接收过程:真实、完整、可用和安全
  15. Mysql连接命令join
  16. 机智云助力中国电信上线物联网开放平台白色家电行业使能套件
  17. KVR16N11S8/4-SP 内存是什么型号
  18. 7个秘诀,带你由数据分析师成长为数据科学家
  19. 从程序员之死看 IT 人士如何摆脱低情商诅咒——转载自CSDN官方博客
  20. java拼图自动还原算法_自动解决智能拼图,A*算法+生成可解拼图(C++)

热门文章

  1. SilverLight:布局(3)StackPanel 对象
  2. 在实际项目中应用NHibernate
  3. Linux---信号及其使用简单讲解
  4. python书籍_最好的Python书籍,让您像专业程序员一样编程
  5. SQL68 牛客每个人最近的登录日期(三)
  6. 人要抱着希望才能活得好
  7. 退休后工资1700多元的人多吗?
  8. 在私企里,男工人能工作到退休年龄60岁吗?
  9. 放生大海的鱼,为什么要在鱼肚子上捅一个洞?
  10. 空中楼阁成语故事,空中楼阁用来比喻什么?