简说设计模式——策略模式

JAdam 2019-06-12 17:39:00 阅读数:24 评论数:0 收藏数:0

一、什么是策略模式

  策略这个词应该怎么理解,打个比方说,我们出门的时候会选择不同的出行方式,比如骑自行车、坐公交、坐火车、坐飞机、坐火箭等等,这些出行方式,每一种都是一个策略。

  再比如我们去逛商场,商场现在正在搞活动,有打折的、有满减的、有返利的等等,其实不管商场如何进行促销,说到底都是一些算法,这些算法本身只是一种策略,并且这些算法是随时都可能互相替换的,比如针对同一件商品,今天打八折、明天满100减30,这些策略间是可以互换的。

  策略模式(Strategy),定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换。UML结构图如下:

  其中,Context是上下文,用一个ConcreteStrategy来配置,维护一个对Strategy对象的引用;Strategy是策略类,用于定义所有支持算法的公共接口;ConcreteStrategy是具体策略类,封装了具体的算法或行为,继承于Strategy。

  1. Context上下文

  Context上下文角色,也叫Context封装角色,起承上启下的作用,屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化。

 public class Context {
     
     Strategy strategy;
     
     public Context(Strategy strategy) {
         this.strategy = strategy;
     }
     
     //上下文接口
     public void contextInterface() {
         strategy.algorithmInterface();
     }
 
 }

  2. 策略角色

  抽象策略角色,是对策略、算法家族的抽象,通常为接口,定义每个策略或算法必须具有的方法和属性。algorithm是“运算法则”的意思。

 public abstract class Strategy {
     
     //算法方法
     public abstract void algorithmInterface();
 
 }

  3. 具体策略角色

  用于实现抽象策略中的操作,即实现具体的算法,下方用print代替。测试类共3个ConcreteStrategy,其它两个类与ConcreteStrategyA同理,就不再赘述了。

 public class ConcreteStrategyA extends Strategy {
 
     @Override
     public void algorithmInterface() {
         System.out.println("算法A实现");
     }
 
 }

  4. Client客户端

  下面依次更换策略,测试一下策略模式。

 public class Client {
     
     public static void main(String[] args) {
         Context context;
         
         context = new Context(new ConcreteStrategyA());
         context.contextInterface();
         
         context = new Context(new ConcreteStrategyB());
         context.contextInterface();
         
         context = new Context(new ConcreteStrategyC());
         context.contextInterface();
     }
 
 }

  运行结果如下:

  

二、策略模式的应用

  1. 何时使用

  • 一个系统有许多类,而区分它们的只是他们直接的行为时

  2. 方法

  • 将这些算法封装成一个一个的类,任意的替换

  3. 优点

  • 算法可以自由切换
  • 避免使用多重条件判断(如果不用策略模式我们可能会使用多重条件语句,不利于维护)
  • 扩展性良好,增加一个策略只需实现接口即可

  4. 缺点

  • 策略类数量会增多,每个策略都是一个类,复用的可能性很小
  • 所有的策略类都需要对外暴露

  5. 使用场景

  • 多个类只有算法或行为上稍有不同的场景
  • 算法需要自由切换的场景
  • 需要屏蔽算法规则的场景

  6. 应用实例

  • 出行方式,自行车、汽车等,每一种出行方式都是一个策略
  • 商场促销方式,打折、满减等
  • Java AWT中的LayoutManager,即布局管理器

  7. 注意事项

  • 如果一个系统的策略多于四个,就需要考虑使用混合模式来解决策略类膨胀的问题

三、策略模式的实现

  下面就以商场促销为例使用策略模式实现商场促销算法。UML图如下:

  1. 上下文类

  首先声明一个CashSuper对象,通过构造方法,传入具体的收费策略,getResult()方法的功能为根据收费策略的不同获得计算结果。

 public class CashContext {
     
     private CashSuper cashSuper;
     
     public CashContext(CashSuper cashSuper) {
         this.cashSuper = cashSuper;
     }
     
     public double getResult(double money) {
         return cashSuper.acceptCash(money);
     }
 
 }

  2. 现金收费抽象类

  策略类,为抽象类,抽象出收费的方法供子类实现。

 public abstract class CashSuper {
     
     public abstract double acceptCash(double money);
 
 }

  3. 正常收费子类

  没有任何活动的情况,正常收费,返回原价。

 public class CashNormal extends CashSuper {
 
     @Override
     public double acceptCash(double money) {
         return money;
     }
 
 }

  4. 打折收费子类

  打折活动,根据折扣返回打折后的价格。

 public class CashRebate extends CashSuper {
     
     private double moneyRebate = 1;    //折扣
     
     public CashRebate(double moneyRebate) {
         this.moneyRebate = moneyRebate;
     }
 
     @Override
     public double acceptCash(double money) {
         return money * moneyRebate;
     }
 
 }

  5. 返利收费子类

  返利活动,输入返利条件和返利值,比如满300返100,moneyCoditation为300,moneyReturn为100。

   result = money - Math.floor(money / moneyConditation) * moneyReturn; 的意思为,如果当前金额大于等于返利条件,则使用当前金额减去返利值。

 public class CashReturn extends CashSuper {
 
     private double moneyConditation = 0.0;    //返利条件
     private double moneyReturn = 0.0d;    //返利值
     
     public CashReturn(double moneyConditation, double moneyReturn) {
         this.moneyConditation = moneyConditation;
         this.moneyReturn = moneyReturn;
     }
 
     @Override
     public double acceptCash(double money) {
         double result = money;
         
         if (money >= moneyConditation) {
             result = money - Math.floor(money / moneyConditation) * moneyReturn;
         }
         
         return result;
     }
 
 }

  6. Client客户端

  下面写一个简单的程序测试一下上方编写的代码。

 public class Client {
     
     public static void main(String[] args) {
         CashContext cashContext = null;
         
         Scanner scanner = new Scanner(System.in);
         System.out.print("请输入打折方式(1/2/3):");
         int in = scanner.nextInt();
         String type = "";
         
         switch (in) {
             case 1:
                 cashContext = new CashContext(new CashNormal());
                 type += "正常收费";
                 break;
                 
             case 2:
                 cashContext = new CashContext(new CashReturn(300, 100));
                 type += "满300返100";
                 break;
                 
             case 3:
                 cashContext = new CashContext(new CashRebate(0.8));
                 type += "打8折";
                 break;
     
             default:
                 System.out.println("请输入1/2/3");
                 break;
         }
         
         double totalPrices = 0;
         
         System.out.print("请输入单价:");
         double price = scanner.nextDouble();
         System.out.print("请输入数量:");
         double num = scanner.nextDouble();
         totalPrices = cashContext.getResult(price * num);
         
         System.out.println("单价:" + price + ",数量:" + num + ",类型:" + type + ",合计:" + totalPrices);
         
         scanner.close();
     }
 
 }

  正常收费结果如下:

  

  返利收费结果如下:

  

  打折收费结果如下:

  

 

  源码地址:https://gitee.com/adamjiangwh/GoF 


版权声明:本文为[JAdam]原创文章
转载请带上:http://copyfuture.com/blogs-details/20190612173953238om5judsu7gu2l52
或:https://www.cnblogs.com/adamjwh/p/11011095.html


  1. 多数人产前准备的东西都有错?来看看你的待产包错了没(宝宝篇)
  2. 大寒过后,必定立春
  3. 【TIDB】4、业界使用情况
  4. 保卫延安——青化砭战役
  5. 名人传记--迈克尔·斯坦哈特
  6. 如何通过git ssh远程登录服务器?以及如何使用xshell登录服务器?
  7. 蚂蚁金服收购万里汇:不包括美国业务 管理层尚未入驻
  8. 餐厅消毒柜拿出来的餐具真的干净吗?
  9. 3.3亿科幻大作来袭,万达排片50%以上,誓言超《流浪地球》
  10. PHP性能优化 -实战篇
  11. 无apk,怎么获取app的activity
  12. 美国国债突破22万亿美元!美联储为何不大量印刷美元还债
  13. 全球年产量最高的10种农作物:水稻年产量7.4亿吨
  14. 国家给予孕妇的5大"特权"!如果你还不知道,一定会吃亏
  15. 充电桩模式要及早刹车,要另起炉灶玩换电模式
  16. Elastic Search 安装和配置
  17. 重磅:电池及电机将纳入汽车三包 为新能源车主维权撑腰
  18. 对手宣称:F16-V战机能压制歼10C 可对抗歼20 专家:痴人说梦!
  19. 美国的海湾战争成就了伊朗的崛起
  20. Centos7+LVS-DR+Apache负载均衡web实验
  21. 消息称远洋资本裁员30% 内部人士:组织优化
  22. 深入浅出多线程系列之五:一些同步构造(上篇)
  23. 利用pyinstaller生成exe文件碰到的一些问题及解决方法
  24. 考研复试:英语复试自我介绍
  25. 秘鲁北部发生7.8级地震
  26. 201409-2 画图
  27. 绝地求生:沙漠遇到伪装大师,以为是个石头,比吉利服藏的都好!
  28. SD存储卡协会恢复华为成员资格
  29. 没有基础也能写个小程序
  30. GM6车门焊接存缺陷?威胁生命安全?暗访广汽传祺4S店
  31. 高可用的接口安全规范
  32. 英特尔为苹果5G手机做准备:今年新iPhone发布完或将淘汰
  33. 步枪的威力一直都过剩,为何在二战末期,各个国家才意识到这件事
  34. 比起好好穿衣服,更重要是学会如何“爱护”它们
  35. 印度用16枚导弹肢解巴基斯坦,印巴仇恨由来已久
  36. 今晚,人类将“看见”黑洞
  37. HCNA常见问题(二):数据转发过程
  38. 2018年度雷品盘点!你确定他们推荐的东西适合你?
  39. 盘点全球最有实力的十大机床设备制造商
  40. RabbitMQ指南之四:路由(Routing)和直连交换机(Direct Exchange)
  41. SMLZ打出最强一战!招牌烬1打5女粉丝当场哭了!弹幕狂给马哥道歉
  42. 亲兄妹该不该避嫌?父母对此事的态度,可能会影响孩子的一生
  43. Codeforces-541div2
  44. 《恶作剧之吻》14年了,一个人都没得到江直树
  45. 【面试】一篇文章帮你彻底搞清楚“I/O多路复用”和“异步I/O”的前世今生
  46. 乐居第四季度股东应占净利润140万美元 同比扭亏
  47. 如何发现痛风的早期症状?发现关节疼痛千万别忽视了
  48. Facebook在前,微信在后,后浪推前浪
  49. 美国最忌惮的”中国首位芯片女掌门“曝光
  50. 玩命!英国螺旋桨战斗机用机翼挑飞V1巡航导弹
  51. 范冰冰正式复出了!再赚八个亿也不难
  52. Dubbo 一些你不一定知道但是很好用的功能
  53. String 和 StringBuffer、StringBuilder
  54. 华人女性AI科学家申省梅加盟安防新势力澎思,任职首席科学家
  55. 打破次元壁,B站UP主们线下开会啦
  56. 生命请自重!
  57. COOKIE与SESSION的一些理解
  58. 肯尼迪当总统不到三年,为啥名气这么大?
  59. 养娃偷不得懒,但这款儿童口服液医生不建议给娃喝,家长不要上当
  60. 阿巴亥和东哥这两个美人,谁更得努尔哈赤的喜爱?
  61. ML.NET 0.10特性简介
  62. 论JVM爆炸的几种姿势及自救方法,你不得不知!
  63. 孟晓苏谈住房金融创新历史: “美国老太太与中国老太太买房的故事”是编的
  64. 世界最吓人的大桥,女司机害怕只好找代驾,高出水面185英尺
  65. 爸妈和我都有高血压。这是因为遗传,还是继承了他们的生活习惯?
  66. 关于Data URLs svg图片显示出错和浏览器URL hash #
  67. 开在地铁里的治愈小店,上班族被感动了100次!
  68. 宇宙最强星体:恕我直言,太阳、黑洞、星系在我面前都是垃圾!
  69. 没人要的小个吊打东契奇!马刺随便找个后卫都是邓肯?
  70. 杨贵妃:那个引发了大唐“安史之乱”的女人
  71. 十句流传最广的最经典话语,句句让人折服(深度好文)
  72. 靠模仿崛起 被称中国食品业“腾讯” 旺旺、康师傅和统一都不如它
  73. 时隔十年的壮举 《色彩喷射团2》日本实体销量突破300万
  74. 曝尤文决定今夏不去美国!担心C罗因"性侵案"被拘留
  75. Mysql相关函数使用和总结(liet、right、substring、substring_index)
  76. 谁进总决赛?谁是总冠军?科比和詹姆斯的答案很一致
  77. TCP-IP详解学习笔记1
  78. 支付宝相互宝赔审团首次拒赔,我们从中能得到什么启示?
  79. tensorflow 逻辑回归之解决欠拟合问题(一)
  80. 因缅甸签证政策放宽,中韩游客数量明显增加
  81. 博鳌今日看点:李克强将出席开幕式并发表主旨演讲
  82. 科学揭示婴儿为什么在飞机上会哭泣
  83. 使用 docker-compose 快速安装Jenkins
  84. 管理学一(理性看优点、换位思考、谨慎围城陷阱 )
  85. 华为P30系列外观视频公布:摄像头不再凸起
  86. 日本人口历史 最高峰相当同时期中国人口50%?
  87. 红花白雪,再冷的天依然傲立枝头,实属难得一见的美景!
  88. 做人:心安理得,问心无愧
  89. 武磊吹上线!毕包主帅:西班牙人那名中国前锋很出色
  90. SpringBoot 2.0 集成 JavaMail ,实现异步发送邮件
  91. 日本国民偶像走向末路,AKB48总选举宣布停办
  92. redux-devtools的使用
  93. Linux基金会宣布红队项目 致力于孵化开源安全工具
  94. 红米、Realme、iQOO和乐檬,手机公司卖“副牌”
  95. 感悟人生的经典句子,句句都是心灵鸡汤!
  96. Verilog-2001中的signed的理解
  97. 41岁男星宣布结婚喜讯晒出结婚照,同校校友6年长跑修成正果
  98. 研究发现 DNA 修复能力与长寿相关
  99. 后量子时代:区块链中密码安全隐患
  100. frp中的json模块

  1. 前端笔记之NodeJS(一)初识NodeJS&内置模块&特点(1713)
  2. Python开发:部分第三方库无法在线安装解决方法(1519)
  3. Matlab 2019a 安装包下载以及安装和激活(1421)
  4. React 与 React-Native 使用同一个 meteor 后台(1338)
  5. Delphi 开发微信公众平台 (二) 用户管理(1292)
  6. C#读取excel文件提示未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序(1146)
  7. [深度应用]·实战掌握Dlib人脸识别开发教程(1113)
  8. 币安称 4000 万美元比特币被盗(1057)
  9. 《跃迁-成为高手的技术》之联机学习(1052)
  10. 独家 | 寒武纪二代芯片发布在即,提前解密如何挑战英伟达!(982)
  11. 使用 C 语言实现一个 HTTP GET 连接(971)
  12. WebGL three.js学习笔记 纹理贴图模拟太阳系运转(965)
  13. 【译】.NET Core 是 .NET 的未来(861)
  14. Sublime Text3 最新版3207 安装及破解(804)
  15. 科学家在太平洋水域发现奇特的“砷呼吸”微生物(762)
  16. 小米有品员工签军令状,自动放弃年终奖!(740)
  17. 微软宣布 .NET 5 计划,支持跨平台、移动开发(740)
  18. 【预警通告】Weblogic反序列化远程代码执行漏洞(737)
  19. layui的table参数条件缓存问题(728)
  20. 75条笑死人的知乎神回复,用60行代码就爬完了(721)
  21. Linux学习(三):XShell连接虚拟机+开通22端口(713)
  22. Visual Studio 2019 正式发布,重磅更新,支持live share(692)
  23. 【预警通告】Apache Tomcat远程代码执行漏洞CVE-2019-0232(674)
  24. SQL简介及MySQL的安装目录详解(649)
  25. 10亿元巨贪山西吕梁原副市长张中生二审维持死刑判决(638)
  26. 5月13日公告精读丨一字跌停后,这只300亿市值的白马股出来澄清了(617)
  27. Vue之路由(603)
  28. css-博客样式初体验(562)
  29. 如果想转行学习WEB前端,这样学也许更加利于找工作(557)
  30. 2019年程序员最值得学习的思维利器——任务分解(555)
  31. 彭博社:苹果A13芯片即将产量 新iPhone"浴霸"无疑(539)
  32. 声明与定义的区别(521)
  33. MongoDB创建数据库和删除数据库05-14学习笔记(493)
  34. PJzhang:Lucifer1993的struts-scan漏洞全量检测工具(492)
  35. 吴奇隆当爹!前妻马雅舒开心复出拍戏,颜值吸睛气质超赞(490)
  36. K8s集群安装--最新版 Kubernetes 1.14.1(490)
  37. 【威胁通告】Oracle全系产品2019年4月关键补丁更新(483)
  38. 英媒:阿里将允许外国零售商在阿里平台上销售商品(475)
  39. Confluence SSRF及远程代码执行漏洞处置手册(470)
  40. 舍命生子产妇吴梦丈夫怒斥:没抢肺源不是精神分裂,网友断章取义(469)
  41. Visual Studio 2019 正式发布(460)
  42. 短视频内容重复,如何伪原创处理(456)
  43. [翻译] Visual Studio 2019: 极速编码. 智能工作. 创造未来.(438)
  44. 机器学习 ML.NET 发布 1.0 RC(435)
  45. 美方拟升级关税措施?中方:反制!(433)
  46. 刘强东身边的CXO还有谁“幸存”(430)
  47. 香饽饽!米兰双雄均有意荷兰小将贝尔赫韦因(429)
  48. 阿里巴巴2018年纳税516亿元 同比增40%(427)
  49. 绿盟科技互联网安全威胁周报NSFOCUS-19-13(407)
  50. 告诉你去越南芽庄必带回的好东西(405)
  51. 宝宝多大可以自己吃饭?错过孩子独立吃饭黄金期,等着后悔吧(404)
  52. 娶不起老婆就来这6个国家,菲律宾的女孩是首选,一定别娶韩国女(398)
  53. 小米手机卖不动了?(387)
  54. 针对django2.2报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 9737: ill....(386)
  55. 太奇葩!买100元债只给1.63元购物券和1.11元现金?网友炸锅:得买多少债券才能换一双鞋(385)
  56. 马光远:全球货币政策进入摇摆期,包括房价的资产价格何去何从(384)
  57. 我司使用了六年的分布式锁(382)
  58. 雷军清华演讲实录:小米9年的创新、变革与未来(379)
  59. 积分一样却选手下败将出战国际赛,《最强大脑》云队选手被坑了?(374)
  60. F#周报2019年第14期(371)
  61. Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!(368)
  62. Webpack 4教程 - 第八部分 使用prefetch和preload进行动态加载(368)
  63. 报告显示:一季度中国家庭总资产缩水而消费支出增加(341)
  64. 《最强大脑》要垮?桑洁魏坤琳出轨细节被扒,戚薇才是神助攻(337)
  65. 直认与老公感情淡了!27岁TVB上位女星:我们不是好熟(336)
  66. 他联系叙恐怖分子“卖军火”,称能搞到2000枚导弹,关键时刻中国警察出手(335)
  67. 谁是苏小明饭局爆粗偷拍者?知情人称另有其人(325)
  68. 苹果应用商店被判垄断?然而并没有(324)
  69. Oracle甲骨文大规模裁员,你背离时代就会被淘汰(324)
  70. 日本明仁天皇退位,日本“平成”年代结束(316)
  71. 华电教授孙玉兵被指与昔日同学共同学术造假,多所高校调查(309)
  72. 迪玛希好惨!昨晚《歌手》为声入人心男团帮帮唱,却再被指控侵权(307)
  73. linux系统安装cdcfordb2udb(306)
  74. 女友被曝插足许志安郑秀文婚姻 知情人透露马国明已下定决心分手(306)
  75. 智慧停车场系统开发建设解决方案(302)
  76. F#周报2019年第15期(298)
  77. shopify网站转化率优化之结账页checkout优化(288)
  78. 杜敬谦死因疑曝光!或因他这一特殊的训练方式,泳迷高呼孙杨退役(286)
  79. 真实!这部8.5分的缉毒剧,毒贩公然贿赂警察:80万,把我放出去(283)
  80. 威廉王子出轨凯特王妃闺蜜? 外媒称婚外情致兄弟反目(283)
  81. spring-cloud-sleuth+zipkin源码探究(280)
  82. 深度学习python的配置(Windows)(279)
  83. 许志安出轨视频系蓄谋偷拍?司机被曝收40万装红外摄像头(278)
  84. 赌命生子九个月后,吴梦离世:前半辈子任性了,我用生命买单(278)
  85. NodeJs之邮件(email)发送(277)
  86. 视觉中国深夜道歉:全面配合监管部门彻底积极整改(276)
  87. 新更新kb4493472导致无法正常开机(264)
  88. 她做个半永久眉毛就被说整容了?(262)
  89. 韦杰落网,金诚集团终局(262)
  90. 美国各州18年人均GDP排名(附中国各省市区人均GDP排名)(260)
  91. Google AI 系统 DeepMind 高中数学考试不及格(257)
  92. 阿里 EasyExcel 使用及避坑(257)
  93. 机器学习基石笔记:01 The Learning Problem(256)
  94. 华为推出方舟编译器 称可提升安卓系统效率(253)
  95. 张丹峰出轨最新锤来了!毕滢的朋友圈简直刷新下限啊!(252)
  96. 山东庆云民企3000亩土地被贱卖 国企接盘拟转性(250)
  97. 【硬盘版】下载利器IDM+优特(uTorrent)BT下载器类(249)
  98. 如何设置使chrome新标签页中打开链接自动跳转到新标签页?(248)
  99. 不要996!程序员创建955.WLB不加班公司名单,GitHub周榜第二(246)
  100. 河南汝州农商行“百万丢款案”调查,两级法院现“判决书打架”(242)

  1. Pycharm 新建模板默认添加编码格式-作者-时间等信息
  2. ES6中常用的小技巧,用了事半功倍哦
  3. Python 从入门到进阶之路(六)
  4. Java中的反射机制和动态代理
  5. 英特尔推创业扶持计划:“攫取”以色列AI和自动驾驶人才
  6. 支付类系统数据处理和数据中台的数据处理方式有什么不同?
  7. 机器视觉中的光源
  8. 想让自己的项目6666,可是 Chrome 不答应!
  9. 未来简史:从智人到神人
  10. AMD、Intel注意了 俄罗斯国产处理器能跑X86游戏了
  11. selenium2library关键字
  12. 《Graph Attention Network》阅读笔记
  13. 面试总结 - 大三第 16 周总结
  14. Intel、高通等在美游说以期不断供
  15. 小白到大神,你需要了解的 sqlite 最佳实践
  16. 5种处理Vue异常的方法
  17. 浅谈 Attention 机制的理解
  18. 看完此文,妈妈还会担心你docker入不了门?
  19. 北电90级:最勤奋的黄磊和最懒的姜武居然在同一个班
  20. Java 8 Collectors to Map
  21. Spring AOP中@Aspect 面向切面注解使用详解
  22. 文件操作的相关
  23. 我科学家首次提出新型远程量子密钥分发协议
  24. 精读《Optional chaining》
  25. CentsOS原生RabbitMQ安装过程
  26. 大数据技术之_31_Java 面试题_01_JavaSE 面试题 + SSM 面试题 + Java 高级面试题 + Java 项目面试题
  27. 零基础如何学习好python爬虫?分哪几个阶段?
  28. 可见光驱动生物质可制备氢气和原柴油
  29. Redis删除特定前缀key的优雅实现
  30. AWS云创建EC2与使用注意事项-踩坑记录
  31. 新行星“猎手”瞄准半人马座阿尔法星
  32. 传杨天真和张艺兴闹掰,杨天真发两人跳舞视频辟谣
  33. 万亿数据下Hadoop的核心竞争力
  34. AI也“偏见”!或应鼓励女性参与AI研发
  35. [Vue 牛刀小试]:第十三章 - Vue Router 基础使用再探(命名路由、命名视图、路由传参)
  36. 上周热点回顾(6.10-6.16)
  37. 屠呦呦团队放“大招”:“青蒿素抗药性”等研究获新突破
  38. Spring拓展接口之BeanPostProcessor,我们来看看它的底层实现
  39. 高通骁龙865曝光:支持LPDDR5X和UFS 3.0 有两个版本
  40. 一线|前百度副总裁顾国栋加入蛋壳公寓任COO 负责线下团队
  41. 周一不睡觉,也要把pandas groupy 肝完,你该这么学,No.8
  42. LeetCode.927-独特邮箱地址(Unique Email Addresses)
  43. Anaconda 恢复清华大学开源软件镜像,近期服务上线
  44. Consul初探-服务注册和发现
  45. 企业讨债9年打赢官司也没用:法院领导是对方亲兄弟
  46. 台积电或在明年一季度开始为苹果生产5纳米芯片
  47. 日本JDI纾困案生变:夏普表示愿伸援
  48. 曹大谈内存重排
  49. 滴滴接入第三方出行服务商,试水聚合平台
  50. 中国AI芯“觉醒”的五年
  51. 统计学习方法20190616学习第一章第1,2节统计学习
  52. 命令行高效操作Git,看这篇就够了
  53. 曾猛删合照,父亲节晒与张丹峰合影!这对父子也走出毕滢风波了?
  54. 唐嫣走路一半遭鸟屎砸中 超近画面笑翻网友
  55. kubernetes调度之pod优先级和资源抢占
  56. .NET Core 3.0 Preview 6中对ASP.NET Core和Blazor的更新
  57. 库克斯坦福演讲:科技公司应为"做坏事"担责任
  58. 一周全球公司十大要闻:波音连续第二个月没收到商业飞机订单
  59. 特斯拉上海厂:建筑基本完工 开始安装生产线
  60. 存储卡革命启动!microSD已然媲美SSD
  61. 警告!2020年2月1月起:不支持TCP和UDP协议的DNS服务器将被关停
  62. 近百起涉民营医院骗保案:伪造病历、虚假住院,有的涉案千万
  63. 企业存储快速增长势头到头了:2019 年 Q1 下降 0.6%
  64. 天文学家探测到银河系与另一个星系相撞的信号
  65. 升维打击,设计之道
  66. 北电1990级:除了黄磊和姜武,他们也是你眼熟的演员
  67. 四象限分析法分析你是否适合做管理
  68. 韩国瑜22日台中造势 国民党市议员全力相挺
  69. 苏贞昌笑高雄“20例”登革热 游淑慧:看看“万例”前朝
  70. 退休女环保局长涉黑落马,该区一周“打伞”11人
  71. 杨幂雪莉冷白皮之战,杨洋尼坤合照,网友心痛神颜不再
  72. 微服务架构:自动扩展简介
  73. 浏览器缓存
  74. 深入理解Java虚拟机(自动内存管理机制)
  75. Jenkins自动化部署入门(一)
  76. jvm(2)---类加载机制
  77. Java8的Stream API使用
  78. Spring的web.xml文件配置
  79. vscode源码分析【二】程序的启动逻辑
  80. kubernetes ingress(一) 简介
  81. 寻觅Azure上的Athena和BigQuery(一):落寞的ADLA
  82. 实验十二:SWING界面设计
  83. 死磕 java同步系列之CountDownLatch源码解析
  84. 容器中Java 程序OOMKilled原因浅析
  85. 舍友聚会
  86. 串口通信
  87. 数据结构与算法---排序算法(Sort Algorithm)
  88. 笔记-JavaWeb学习之旅17
  89. 物理隔离下的数据交换平台难点解析与实践(一)
  90. jvm(1)---java内存模型
  91. F#周报2019年第24期
  92. 机器学习经典算法之决策树
  93. 你知道Object中有哪些方法及其作用吗?
  94. coreml之通过URL加载模型
  95. 中移核心网 5G 大单:华为、中兴、爱立信、诺基亚中标
  96. 三道博弈论入门题
  97. eclipse JDT Plug-in Developer Guide
  98. 《漫画算法》笔记-上篇
  99. 计算机网络-自定向下方法之运输层
  100. 5.Linux系统的vim