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

广州企业所得税河北seo网站优化公司

广州企业所得税,河北seo网站优化公司,网络优化的基本流程,城乡与建设部网站首页写享元模式的时候#xff0c;会想使用ConcurrentHashMap来保证并发#xff0c;没有使用双重锁会不会有问题#xff1f;但是在synchronize代码块里面需要尽量避免throw异常#xff0c;希望有经验的同学能够给出解答#xff1f; 1月6号补充#xff1a;没有使用双重锁会有问…写享元模式的时候会想使用ConcurrentHashMap来保证并发没有使用双重锁会不会有问题但是在synchronize代码块里面需要尽量避免throw异常希望有经验的同学能够给出解答 1月6号补充没有使用双重锁会有问题 享元模式UML图如下 Component public class PayContextFactory extends AbstractPayContextFactoryPayContext {//享元模式private static final MapString, PayContext payContexts new ConcurrentHashMap();Overridepublic PayContext getContext(Integer payType) {StrategyEnum strategyEnum payType 1 ? StrategyEnum.alipay :payType 2 ? StrategyEnum.wechat :null;if (Objects.isNull(strategyEnum)) {throw new UnsupportedOperationException(payType not supported!);}//尝试从map中获取ContextPayContext context payContexts.get(strategyEnum.name());//第一次调用if (Objects.isNull(context)) {try {//通过反射创建具体类PayStrategyInterface payStrategy (PayStrategyInterface) Class.forName(strategyEnum.getValue()).newInstance();//将具体策略类作为入参,创建payContextPayContext payContext new PayContext(payStrategy);payContexts.put(strategyEnum.name(), payContext);} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {throw new UnsupportedOperationException(get strategy failed!);}}return payContexts.get(strategyEnum.name());} }使用双重检查锁后的代码 Component public class PayContextFactory extends AbstractPayContextFactoryPayContext {//享元模式private static final MapString, PayContext payContexts new ConcurrentHashMap();Overridepublic PayContext getContext(Integer payType) {StrategyEnum strategyEnum payType 1 ? StrategyEnum.alipay :payType 2 ? StrategyEnum.wechat :null;if (Objects.isNull(strategyEnum)) {throw new UnsupportedOperationException(payType not supported!);}//尝试从map中获取ContextPayContext context payContexts.get(strategyEnum.name());//第一次调用if (Objects.isNull(context)) {synchronized (payContexts) {context payContexts.get(strategyEnum.name());if (Objects.isNull(context)) {try {//通过反射创建具体类PayStrategyInterface payStrategy (PayStrategyInterface) Class.forName(strategyEnum.getValue()).newInstance();//将具体策略类作为入参,创建payContextPayContext payContext new PayContext(payStrategy);payContexts.put(strategyEnum.name(), payContext);} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {throw new UnsupportedOperationException(get strategy failed!);}}}}return payContexts.get(strategyEnum.name());} }
http://www.dnsts.com.cn/news/44158.html

相关文章:

  • 建个网站多少钱app贵州省住房和城乡建设厅网站官网
  • 网站建设服务标准深圳罗湖网站制作
  • 做企业福利网站起名怎么做公司网站的二维码
  • 网站开发各小组互评表html5 开发的网站
  • 做设计需要知道的几个网站吗注册一个互联网公司需要多少钱
  • wordpress建站 知乎北京做网站建设的公司有哪些
  • 雅奇小蘑菇做网站好不好用怎么在自己做网站
  • 网站设计风格类型wordpress函数文件夹
  • 企业网站群建设模式wordpress 产品分类侧边栏
  • 北京网站开开发公司大旺建设局网站
  • 淄博的大型网站建设json做网站的数据库
  • 网站开发师贴吧厦门集团网站建设
  • 起个娱乐网站名字科技网站新版网站上线
  • 私人做网站的流程如何做响应式网站设计
  • 建设银行的网站是多少网站设计理念介绍
  • 大连市住房与城乡建设部网站中国最大的编程公司
  • 企业模板建站公司公司网站建设佛山哪家专业
  • 企业做网站的概要wordpress菜单子菜单
  • 福永网站推广河北建筑工程学院招生网官网
  • 佛山网站优化什么价格高德地图怎么导航环线
  • 国外电子商务网站网站网站制作价格建站网站
  • 网站怎么做百度认证吗wordpress怎么填写横幅图片
  • 上海做网站哪家公司海南房产网站开发
  • 斗牛网站开发专业排名优化工具
  • 做网站好看的背景图片wordpress文章详情页
  • 厦门做网站公司哪家好wordpress所有分类
  • 为什么大家用wordpress建网站网络编程就业前景
  • 个人怎么做网站优化wordpress签到积分
  • h5网站建设 北京广东城乡住房建设部网站
  • 地区性门户网站是什么意思网站备案通过之后