随笔:设计优化原则

    设计优化
    使用单例模式:
    对于频繁使用的对象,可以省略创建对象所花费的时间.
    由于new次数的减少,对系统内存的使用频率也会降低,减轻GC压力,缩短GC停顿时间.
    单例模式又有普通单例,同步单例,内部类单例,性能比较完善的是内部类单例.

    代理模式:
    场景1:延迟加载,接口,实现类,代理类
    动态代理
    jdk和cglib的动态代理
    
    享元模式:如果在一个系统中存在多个相同的对象,那么只需共享一份对象的拷贝,而不必每一次使用都创建新的对象.
    原理:需要一个享元工厂来创建对象,需要创建的时候,如果没有就创建一个放入hashmap中,下次再从hash取出来使用.
    可以节省重复创建对象的开销,因为被享元模式维护的相同对象只会被创建一次,当创建对象比较耗时,可以节省大量时间.
    由于创建对象的数量减少,所有对内存的需求也减少,使GC压力降低,系统更快.

    观察者模式.

   当一个对象的行为依赖于另一个对象的状态变化时,使用观察者模式就不需要去实时监听,只在另一个对象变化时通知观察者,这样就节省了系统资源.

    NIO操作很容易成为性能瓶颈,所以尽可能的在I/O读写中加入缓冲组件.

    使用缓存
    
    使用池,线程池和数据库连接池

 

你可能感兴趣的:(学习)