亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? memorycachecontroller.java

?? 本套系統采用了業界當前最為流行的beanAction組件
?? JAVA
字號:
/*
 *  Copyright 2004 Clinton Begin
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package com.ibatis.sqlmap.engine.cache.memory;

import com.ibatis.sqlmap.engine.cache.CacheController;
import com.ibatis.sqlmap.engine.cache.CacheModel;

import java.lang.ref.SoftReference;
import java.lang.ref.WeakReference;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

/**
 * Memory-based implementation of CacheController
 */
public class MemoryCacheController implements CacheController {

  private MemoryCacheLevel cacheLevel = MemoryCacheLevel.WEAK;
  private Map cache = Collections.synchronizedMap(new HashMap());

  /**
   * Configures the cache
   *
   * @param props Optionally can contain properties [reference-type=WEAK|SOFT|STRONG]
   */
  public void configure(Properties props) {
    String refType = props.getProperty("reference-type");
    if (refType == null) {
      refType = props.getProperty("referenceType");
    }
    if (refType != null) {
      cacheLevel = MemoryCacheLevel.getByReferenceType(refType);
    }
  }

  /**
   * Add an object to the cache
   *
   * @param cacheModel The cacheModel
   * @param key        The key of the object to be cached
   * @param value      The object to be cached
   */
  public void putObject(CacheModel cacheModel, Object key, Object value) {
    Object reference = null;
    if (cacheLevel.equals(MemoryCacheLevel.WEAK)) {
      reference = new WeakReference(value);
    } else if (cacheLevel.equals(MemoryCacheLevel.SOFT)) {
      reference = new SoftReference(value);
    } else if (cacheLevel.equals(MemoryCacheLevel.STRONG)) {
      reference = new StrongReference(value);
    }
    cache.put(key, reference);
  }

  /**
   * Get an object out of the cache.
   *
   * @param cacheModel The cache model
   * @param key        The key of the object to be returned
   * @return The cached object (or null)
   */
  public Object getObject(CacheModel cacheModel, Object key) {
    Object value = null;
    Object ref = cache.get(key);
    if (ref != null) {
      if (ref instanceof StrongReference) {
        value = ((StrongReference) ref).get();
      } else if (ref instanceof SoftReference) {
        value = ((SoftReference) ref).get();
      } else if (ref instanceof WeakReference) {
        value = ((WeakReference) ref).get();
      }
    }
    return value;
  }

  public Object removeObject(CacheModel cacheModel, Object key) {
    Object value = null;
    Object ref = cache.remove(key);
    if (ref != null) {
      if (ref instanceof StrongReference) {
        value = ((StrongReference) ref).get();
      } else if (ref instanceof SoftReference) {
        value = ((SoftReference) ref).get();
      } else if (ref instanceof WeakReference) {
        value = ((WeakReference) ref).get();
      }
    }
    return value;
  }

  /**
   * Flushes the cache.
   *
   * @param cacheModel The cache model
   */
  public void flush(CacheModel cacheModel) {
    cache.clear();
  }

  /**
   * Class to implement a strong (permanent) reference.
   */
  private static class StrongReference {
    private Object object;

    /**
     * StrongReference constructor for an object
     * @param object - the Object to store
     */
    public StrongReference(Object object) {
      this.object = object;
    }

    /**
     * Getter to get the object stored in the StrongReference
     * @return - the stored Object
     */
    public Object get() {
      return object;
    }
  }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
三级不卡在线观看| 成人听书哪个软件好| 久久69国产一区二区蜜臀| 偷拍一区二区三区四区| 国产精品99久久久久久似苏梦涵| eeuss鲁片一区二区三区在线看| 欧美亚男人的天堂| 日本一区二区成人| 午夜精品福利一区二区蜜股av| 国产成人精品一区二| 欧美日韩国产a| 国产精品久久三| 久色婷婷小香蕉久久| 国产suv一区二区三区88区| 欧美日韩精品高清| 久久人人超碰精品| 亚洲动漫第一页| 国产99精品国产| 欧美成人女星排名| 亚洲欧美自拍偷拍色图| 青青草国产成人99久久| 色综合视频一区二区三区高清| 精品国产凹凸成av人网站| 亚洲电影一区二区| 国产精品一区二区视频| 日韩一区二区三| 午夜精品在线看| 91亚洲资源网| 中国av一区二区三区| 国产精品一区二区在线看| 欧美丰满少妇xxxbbb| 一区二区三区影院| 91麻豆视频网站| 国产调教视频一区| 国产麻豆一精品一av一免费| 欧美一区在线视频| 一区二区三区高清在线| 972aa.com艺术欧美| 日本一区二区三区免费乱视频| 一区二区三区欧美| 日本道色综合久久| 亚洲图片激情小说| 色综合天天做天天爱| 中文字幕欧美一| av亚洲精华国产精华精华| 中文字幕欧美三区| 国产成人综合精品三级| 国产日韩欧美在线一区| 粉嫩13p一区二区三区| 91精品国产综合久久香蕉的特点| 亚州成人在线电影| 欧美精品在线观看播放| 婷婷久久综合九色国产成人| 欧美嫩在线观看| 天天综合色天天综合色h| 91精品国产乱| 精久久久久久久久久久| 国产无一区二区| 91精选在线观看| 日韩国产精品91| 欧美日韩一卡二卡| 日韩电影免费在线观看网站| 欧美一级淫片007| 麻豆成人综合网| 国产午夜三级一区二区三| 国产福利精品一区二区| 亚洲三级电影网站| 欧美日韩久久久久久| 日本午夜一区二区| 国产视频一区不卡| 91香蕉视频在线| 亚洲精品成人在线| 欧美精品久久99久久在免费线| 麻豆国产91在线播放| 国产精品国产三级国产aⅴ入口 | 天堂蜜桃一区二区三区 | 日韩高清电影一区| 亚洲精品在线观看网站| 9久草视频在线视频精品| 亚洲国产另类av| 精品美女在线播放| 国产91精品久久久久久久网曝门 | 亚洲综合色在线| 日韩精品自拍偷拍| 狠狠色丁香婷婷综合| 久久久久国色av免费看影院| 91成人网在线| 国内精品伊人久久久久av影院| 国产精品全国免费观看高清| 欧美色图天堂网| 国产成a人亚洲| 日韩国产欧美在线视频| 中文字幕制服丝袜成人av | 奇米一区二区三区| 中文在线资源观看网站视频免费不卡| 大尺度一区二区| 天天综合网 天天综合色| 欧美经典一区二区三区| 欧美一区二区在线播放| 国产一区 二区 三区一级| 亚洲一区二区三区免费视频| 国产欧美一区二区精品久导航| 在线播放欧美女士性生活| 黑人巨大精品欧美黑白配亚洲| 国产suv精品一区二区三区| 日韩激情一二三区| 亚洲一级在线观看| 亚洲免费观看视频| 亚洲欧美日韩久久精品| 最新国产精品久久精品| 中文字幕一区二区三区在线播放 | 国产一区二区网址| 免费观看一级欧美片| 日韩国产高清影视| 另类人妖一区二区av| 蜜桃久久av一区| 激情文学综合插| 国产真实乱子伦精品视频| 国产一区二区三区高清播放| 国产一区不卡视频| 国产成人av电影在线| eeuss鲁片一区二区三区 | 懂色av一区二区夜夜嗨| 国产大陆a不卡| 99精品久久免费看蜜臀剧情介绍| 不卡影院免费观看| 91女神在线视频| 欧美性猛交xxxx乱大交退制版 | 国产亚洲福利社区一区| 久久蜜桃av一区二区天堂| 国产免费成人在线视频| 亚洲人成亚洲人成在线观看图片| 亚洲最大成人综合| 日本欧美一区二区在线观看| 激情综合色综合久久综合| 国产成人亚洲综合a∨婷婷图片| 成人精品一区二区三区四区 | 国产亚洲一区字幕| 国产精品女主播在线观看| 一区二区三区国产精华| 美女视频黄免费的久久| 成人激情免费视频| 在线免费观看成人短视频| 91精品国产欧美一区二区成人| 精品国产乱子伦一区| 亚洲欧洲日韩女同| 亚洲成人精品一区二区| 国产精品系列在线观看| 欧美性猛交xxxxxx富婆| 精品国产成人系列| 亚洲一区中文日韩| 韩国在线一区二区| 日本高清不卡在线观看| 精品国产伦一区二区三区免费 | 亚洲视频在线一区| 青青草国产精品97视觉盛宴| 不卡的av网站| 日韩视频在线观看一区二区| 亚洲欧洲制服丝袜| 捆绑紧缚一区二区三区视频| 99国内精品久久| 精品动漫一区二区三区在线观看| 亚洲人成在线播放网站岛国| 国产一区二区视频在线播放| 欧洲亚洲国产日韩| 国产精品久久久久久福利一牛影视| 丝瓜av网站精品一区二区| 成人精品视频.| 日韩精品中文字幕一区| 一区二区三区高清| 成人三级伦理片| 亚洲精品一区二区三区精华液| 亚洲一区二区高清| 99re66热这里只有精品3直播| 精品久久久久久久久久久久包黑料| 亚洲综合成人在线| 91无套直看片红桃| 国产欧美日韩一区二区三区在线观看| 日本vs亚洲vs韩国一区三区| 在线视频你懂得一区二区三区| 中文子幕无线码一区tr| 国产麻豆精品在线| 欧美成人欧美edvon| 麻豆精品一区二区综合av| 欧美日韩国产成人在线91| 伊人婷婷欧美激情| 91小视频在线| 亚洲视频在线一区| 成人黄页在线观看| 中文字幕av一区二区三区免费看| 国产一区二区91| 久久久综合九色合综国产精品| 美日韩一区二区三区| 欧美一区二区三区公司| 天涯成人国产亚洲精品一区av| 欧美日韩二区三区| 日韩精品1区2区3区| 日韩一二三四区| 蜜桃视频在线观看一区二区| 日韩你懂的电影在线观看|