摘要: ThreadPoolExecutor的几个重要属性 BlockingQueue workQueue 阻塞队列。存放将要执行的任务 HashSet workers 线程集合。下文会重点介绍Worker这个内部类 corePoolSize 核心线程数 maximumPoolSize 最大线程数 keep 阅读全文
posted @ 2019-09-20 17:48 chenshengyue 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 随着现在的电商平台的日新月异,对于其下单流程来说,订单类型众多,且链路非常长。比如有解析购物车、获取用户地址信息、出仓、拆单、合单、计算运费、使用优惠券、组装订单信息、插入数据库...等等操作链路。 由于三月份的时候公司需要做B2C的需求,相当于一套新的生态链。而原先公司的基础设施实在不敢恭维。比如 阅读全文
posted @ 2019-09-18 20:12 chenshengyue 阅读(768) 评论(1) 推荐(1) 编辑
摘要: @autowire、@resource、@value是我们项目开发中最常用的注解。 对于初学者来说 @value注入配置属性 @autowire根据类型注入 @resource根据名字注入 其实这种理解不是很透彻 今天我们来探索下@autowire的原理。 一、准备测试代码 一个接口类有多个实现类 阅读全文
posted @ 2019-09-03 16:40 chenshengyue 阅读(2490) 评论(0) 推荐(0) 编辑
摘要: 今天我们来了解下Spring是如何解决循环依赖的。 准备工作: 1.测试代码 创建CurrentlyService1和CurrentlyService2。两个类分别依赖注入对方 2.了解@Autowire原理。 对于这次探索循环依赖,如果不知道的,就当他是针对这个属性调用createBean。 3. 阅读全文
posted @ 2019-08-23 14:24 chenshengyue 阅读(6770) 评论(0) 推荐(0) 编辑
摘要: 今天我们来了解下设计模式中比较常用的策略模式 什么是策略模式? 策略模式定义了一系列的算法,并将每一个算法封装起来,使每个算法可以相互替代,使算法本身和使用算法的客户端分割开来,相互独立。(摘自百度) 策略模式适用于什么场景? 一个大功能,它有许多不同类型的实现(策略类),具体根据客户端来决定采用特 阅读全文
posted @ 2019-05-07 16:05 chenshengyue 阅读(4549) 评论(1) 推荐(0) 编辑
摘要: 最近项目中用到比较多的redis分布式锁 每个方法都类似于这样 String key = ""; //尝试加锁 if (! jedisManager.tryLock(key)) { throw new BizException("请稍后重试"); } try { //do your biz } ca 阅读全文
posted @ 2019-05-07 14:18 chenshengyue 阅读(3013) 评论(0) 推荐(1) 编辑