如题
希望有经验的高手给说一下,它跟对象缓存池比起来怎么样?

解决方案 »

  1.   

    单例模式是节省内存的好方法,如果需要对每一个实例都进体具体的事务控制,并且每一个实例如都带有具体的特性的话,就做对象缓存池,否则做单例就可以了。举个例子,为什么不把一个Connection对象做成单例,而要做对连接池呢?单例不是更节省资源吗?就是因为每个Connection都是处理一个特别的请求的,每个请求用Connection来处理的数据都不一定,而且不同的Connection有不同的事务管理机制,所以要做连接池。
      

  2.   

    楼上的回答很好,可能我没有说的太清楚,我的表达能力比较弱
    我用一个简单的类来说明一下: class A {
                                    public void dost(){}
                                    public void dostb(){}
                                 }
    象上面这样的类即没有同步,也没有数据库连接的一些东西,就仅仅是一些业务方法调用。象这样的类是不是做成单列比作成缓存要好呢?
      

  3.   

    数据库连接有其特殊性,连接的建立过程是缓慢的,不光是在空间的占用上
    如果是对于其他类型的实例,实例的创建过程影响不大,但不必要的过多的实例会占用不必要的储存空间
    依实际应用来决定,如果你的JVM中确实只需要一个实例就用单例模式吧如果你的A类不需要实例变量,仅仅提供一些业务方法,那么把A中的方法声明为静态方法,作为工具类方法就可方法是否同步要考虑两多线程环境执行同一方法,是否造成对类的字段存取的冲突