Java性能调优

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java性能调优相关的知识,希望对你有一定的参考价值。

设计调优

常用优化组件和方法

  1. 对象复用——“池”(数据库连接池)
  2. 并行替代串行、异步替代同步
  3. 负载均衡
  4. 时间换空间
  5. 空间换时间
  6. 缓存(EhCache、Memcached、Redis)
  • Memcached

     多线程,非阻塞IO复用的网络模型。
     基本只支持简单的key-value存储
     提供了cas命令,可以保证多个并发访问操作同一份数据的一致性问题
     ……

  • Redis

    单线程的IO复用模型
    除key/value之外,还支持list,set,zset,hash等众多数据结构
    支持事务
    支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
    ……

善用设计模式

单例模式

public class Singleton {
    private Singleton(){};
    private static class SingletonHolder{
        private static Singleton instance = new Singleton();
    }
    public static Singleton getInstance(){
        return SingletonHolder.instance;
    }
}

调用方法getInstance才会去实例会instance对象,实现了延迟加载,通过内部类实现又对多线程友好。

享元模式

技术分享

 

它的核心思想是:如果一个系统中存在多个相同的对象,那么只需要共享一份对象的拷贝,而不必为每一次使用而创建对象。

观察者模式

技术分享

在软件系统中,当一个对象的行为依赖于另一个对象的状态时,若不使用观察者模式,则只能在另一个线程中不停监听对象所依赖的状态,这将是系统的性能产生额外的负担。

 








以上是关于Java性能调优的主要内容,如果未能解决你的问题,请参考以下文章

Java 应用性能调优实践

北大青鸟java培训:Java性能调优都有哪些技巧?

如何轻松搞定 Java 性能调优?层层调优的实践总结

Java 应用性能调优最强实践指南!

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段

java性能调优——技客时间