加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ehcache 创建创建单一实例与否的判断,以及,哪个静态方法,只在

发布时间:2020-12-13 22:12:34 所属栏目:百科 来源:网络整理
导读:首先说echache创建对象的四种方式 首先分为两大类,1 使用默认的缓存配置文件 public static void main(String[]args) { CacheManagermgr1=CacheManager.getInstance(); CacheManagermgr2=CacheManager.create(); CacheManagermgr3=CacheManager.newInstance

首先说echache创建对象的四种方式

首先分为两大类,1使用默认的缓存配置文件

  • publicstaticvoidmain(String[]args)
  • {
  • CacheManagermgr1=CacheManager.getInstance();
  • CacheManagermgr2=CacheManager.create();
  • CacheManagermgr3=CacheManager.newInstance();
  • System.out.println(mgr1==mgr2);//true
  • System.out.println(mgr1==mgr3);//true
  • }



    2,根据自定义配置文件


    1. URLurl=TestCacheManager.class.getClassLoader().getResource("conf/ehcache.xml");
    2. CacheManagermgr1=CacheManager.create(url);
    3. CacheManagermgr2=CacheManager.create("src/conf/ehcache.xml");
    4. CacheManagermgr3=CacheManager.newInstance("src/conf/ehcache.xml");
    5. System.out.println(mgr1==mgr2);//true
    6. System.out.println(mgr1==mgr3);//true
    其次:这几种方式哪几种如果已经创建cacheManager 实例,就不会再创建的;哪个会继续创建新的cacheManager实例

    如果已经存在,就不会再创建:

  • CacheManagermgr1=CacheManager.create(url);
  • CacheManagermgr2=CacheManager.create("src/conf/ehcache.xml");如果已经存在,还会继续创建:
  • CacheManagermgr3=CacheManager.newInstance("src/conf/ehcache.xml") 当使用ehcache.xml创建CacheManager对象的时候,CacheManager中的singleton属性会记录创建的对象值,即创建了CacheManager对象,singleton会记录该单例对象,不再是null
    CacheManager.create()和CacheManager.getInstance()都会先判断singleton属性是否为null,如果为null则继续调用newInstance(),如果不为null则直接返回。所以mgr1==mgr4==mgr5;
    CacheManager.newInstance();不会判断singleton是否为null,直接使用默认的ehcache-failsafe.xml,新建一个CacheManager对象,所以mgr1 != mgr
  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读