码迷,mamicode.com
首页 > 编程语言 > 详细

Java性能调优(四)

时间:2017-04-24 12:23:13      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:mem   负载均衡   cas   产生   网络   方法   zset   观察者模式   private   

设计调优

常用优化组件和方法

  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性能调优(四)

标签:mem   负载均衡   cas   产生   网络   方法   zset   观察者模式   private   

原文地址:http://www.cnblogs.com/leafsunday/p/6755572.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!