当前位置: 首页 > news >正文

定西谁做网站帮人建网站价格赚钱吗

定西谁做网站,帮人建网站价格赚钱吗,网站建设维护管理办法,新乡网站设计公司设计一个缓存--针对各种类型的缓存 1. 设计顶层接口2. 设计抽象类 -- AbstractCacheManager3. 具体子类3.1 -- AlertRuleItemExpCacheManager3.2 -- AlertRuleItemSrcCacheManager 4. 类图关系 1. 设计顶层接口 // 定义为一个泛型接口,提供给抽象类使用 public interface Cach… 设计一个缓存--针对各种类型的缓存 1. 设计顶层接口2. 设计抽象类 -- AbstractCacheManager3. 具体子类3.1 -- AlertRuleItemExpCacheManager3.2 -- AlertRuleItemSrcCacheManager 4. 类图关系 1. 设计顶层接口 // 定义为一个泛型接口,提供给抽象类使用 public interface CacheManagerT {// 获取所有的缓存itemListT getAll();// 根据条件获取某些缓存itemListT get(PredicateT predicate);// 设置缓存boolean set(T t);// 设置缓存listboolean set(ListT tList); }有接口必定有实现类或者抽象类实现接口。 那为了更好地控制子类的行为可以做一个抽象类控制子类行为。 分析 抽象类作为缓存管理的话那么就需要提供安全访问数据需要考虑线程安全问题。花絮 不仅要满足上述需求而且让代码尽量简洁。 2. 设计抽象类 – AbstractCacheManager 属性设计 需要一个缓存需要一个线程安全机制方案 行为设计 自己的行为 利用线程安全机制控制缓存的读写。权限仅自己可访问 后代的行为 访问一些简单api方法即可实现安全访问缓存权限公共访问 设计模式 包裹思想将后代行为方法中包裹一层安全访问的行为。 Java Code // properties design: protected ConcurrentMapString, T cache;private ReentrantReadWriteLock lock new ReentrantReadWriteLock();// subclass to implements these abstract methods.protected abstract ListT getAllByCache();protected abstract void setByCache(T t);protected abstract void setByCache(ListT tList);protected abstract ListT getByCache(PredicateT predicate);// next content needs to consider safety of multithreads. following methods do implements. // entry to use Override public final ListT getAll() {return this.readLockThenGet(() - this.getAllByCache()); }Override public final ListT get(PredicateT predicate) {return this.readLockThenGet(pre - getByCache(pre), predicate); }Override public final boolean set(T t) {return this.writeLockThenSet((ConsumerT) obj - set(obj), t); }Override public final boolean set(ListT tList) {return this.writeLockThenSet((ConsumerListT) list - set(list), tList); }// current abstract class access cache object. private boolean writeLockThenSet(Consumer consumer, Object object){boolean wLock false;try {if (!(wLock lock.writeLock().tryLock(100, TimeUnit.MICROSECONDS))) {return false;}consumer.accept(object);return true;} catch (Exception e) {return false;} finally {if(wLock) {lock.writeLock().unlock();}} }private ListT readLockThenGet(SupplierListT supplier){boolean rLock false;try{if(!(rLock lock.readLock().tryLock(100, TimeUnit.MICROSECONDS))){return null;}return supplier.get();}catch (Exception e){return null;}finally {if(rLock) {lock.readLock().unlock();}} }private ListT readLockThenGet(FunctionPredicateT, ListT function, PredicateT predicate){boolean rLock false;try{if(!(rLock lock.readLock().tryLock(100, TimeUnit.MICROSECONDS))){return null;}return function.apply(predicate);}catch (Exception e){return null;}finally {if(rLock) {lock.readLock().unlock();}} }3. 具体子类 3.1 – AlertRuleItemExpCacheManager Component(alertRuleItemExpCacheManager) public class AlertRuleItemExpCacheManagerT extends AlertRuleItemExpCache extends AbstractCacheManagerAlertRuleItemExpCache {Resourceprivate AlertRuleItemExpDao alertRuleItemExpDao;Overrideprotected ListAlertRuleItemExpCache getAllByCache() {if (null cache) {ListAlertRuleItemExp alertRuleItemSrcList alertRuleItemExpDao.selectList(Wrappers.AlertRuleItemExplambdaQuery().eq(AlertRuleItemExp::getDeleted, 0));cache alertRuleItemSrcList.stream().map(entity - entity.toCache()).collect(Collectors.toConcurrentMap(cache - cache.getId().toString(), cache - cache));}return cache.values().stream().sorted(Comparator.comparing(AlertRuleItemExpCache::getId)).collect(Collectors.toList());}Overrideprotected void setByCache(AlertRuleItemExpCache alertRuleItemExpCache) {cache.put(alertRuleItemExpCache.getId().toString(), alertRuleItemExpCache);}Overrideprotected void setByCache(ListAlertRuleItemExpCache alertRuleItemExpCacheList) {alertRuleItemExpCacheList.parallelStream().forEach(alertRuleItemExpCache -cache.put(alertRuleItemExpCache.getId().toString(), alertRuleItemExpCache));}Overrideprotected ListAlertRuleItemExpCache getByCache(PredicateAlertRuleItemExpCache predicate) {return getAllByCache().stream().filter(cache - predicate.test(cache)).collect(Collectors.toList());} }3.2 – AlertRuleItemSrcCacheManager Component(alertRuleItemSrcCacheManager) public class AlertRuleItemSrcCacheManagerT extends AlertRuleItemSrcCache extends AbstractCacheManagerAlertRuleItemSrcCache {Resourceprivate AlertRuleItemSrcDao alertRuleItemSrcDao;Overrideprotected ListAlertRuleItemSrcCache getAllByCache() {if (null cache) {ListAlertRuleItemSrc alertRuleItemSrcList alertRuleItemSrcDao.selectList(Wrappers.AlertRuleItemSrclambdaQuery().eq(AlertRuleItemSrc::getDeleted, 0));cache alertRuleItemSrcList.stream().map(entity - entity.toCache()).collect(Collectors.toConcurrentMap(cache - cache.getId().toString(), cache - cache));}return cache.values().stream().sorted(Comparator.comparing(AlertRuleItemSrcCache::getId)).collect(Collectors.toList());}Overrideprotected void setByCache(AlertRuleItemSrcCache alertRuleItemSrcCache) {cache.put(alertRuleItemSrcCache.getId().toString(), alertRuleItemSrcCache);}Overrideprotected void setByCache(ListAlertRuleItemSrcCache alertRuleItemSrcCacheList) {alertRuleItemSrcCacheList.parallelStream().forEach(alertRuleItemSrcCache -cache.put(alertRuleItemSrcCache.getId().toString(), alertRuleItemSrcCache));}Overrideprotected ListAlertRuleItemSrcCache getByCache(PredicateAlertRuleItemSrcCache predicate) {return getAllByCache().stream().filter(cache - predicate.test(cache)).collect(Collectors.toList());} }4. 类图关系
http://www.w-s-a.com/news/832854/

相关文章:

  • 浙江省建设注册管理中心网站首页优设设计网站导航
  • 台州小型网站建设国内免费的建网站平台
  • 自己做网站不推广网站建设工作室发展
  • 有女人和马做网站吗宁波seo优势
  • 网站做用户记录表电商运营推广计划方案
  • 网站备案认领杭州网页设计公司招聘
  • 易签到网站开发设计做网站运营有前途吗
  • 南通网站建设心得2023必考十大时政热点
  • 苍溪建设局网站公建设计网站
  • 九歌人工智能诗歌写作网站电子商务网站建设项目书
  • 做外贸的经常浏览的三个网站律师做哪个网站好
  • 中国公路建设招标网站长沙大型网站建设公司
  • 沈阳企业网站模板建站注册电子邮箱免费注册
  • 如何做简洁网站设计企业网站排名优化方案
  • 东莞网站建设服务商做触屏网站
  • 外国网站代理音乐网站建设
  • 珠江网站建设广安广告公司
  • 高端创意网站建设网页制作咨询公司
  • 网站建设及发布的流程图wordpress文章摘要显示
  • 淮北网站网站建设省好多会员app
  • 如何查看网站的更新频率网站图片要求
  • 网站设计公司收费标准wordpress修改文章链接
  • 镇江网站建设公司网站关键词密度怎么计算的
  • c 网站开发公司的网站的设计
  • 网站建设多长时间能学会做网站猫要做端口映射吗
  • 新手做网站视频网页设计期末作品要求
  • 做网站用户充值提现郑州高端模板建站
  • 运城做网站方式方法网站改版完成
  • 上海建设网站制作东西湖建设局网站
  • 建设购物网站课程设计建设部领导干部官方网站