我要在内存缓存一些数据除了单例还有什么方式

解决方案 »

  1.   

    楼主可以是一些缓存的框架,比如说OSCache,JCache等等,我没用过,不说太多,嘿嘿……
      

  2.   

    这么重要的一个模块,java肯定少不了的啦。貌似java的API中就有个缓存的,你看下这个链接中是不是你想要的,http://codermouse.iteye.com/blog/1061592
      

  3.   

    往内存缓存数据 还需要什么框架? 逗.内存中缓存数据 如果很多类在用的话,除了new也基本上是单例了。
      

  4.   

    不知道楼主为什么要用单例来缓存数据,看一看享元模式,及其常用的一个实现——对象池。apache的commom-pool就很不错,也很简单。另外,array list map set 等等都很缓存数据,比如shift-one缓存框架的核心就是一个hashmap,但愿对楼主有帮助。
      

  5.   

    楼主的意思是不是担心
    class Cache{
        Map<Object,Object> map;
    }
    在new Cache 的时候map不是共享的,因此用Singleton模式让所用的Cache都只有一份内存,但若某个系统要用两个不同功能的Cache,又得写一个CacheXXX的单例出来,其实Cache类不一定要共享它所用的实例嘛,以依赖注入的形式某个实例化的Cache对象传入进去就可以了。
    另外可以参考一下,Spring IOC的原理,从一个beanFactory中getBean()的实例默认为单例,因为Spring容器的核心也是一个HashMap,相同名字的bean都是返回的同一个实例。