一、性能优化的类型
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使用率
八、其他有用的分析提示