2019年9月30日

摘要: 首先,既然是多数据源,那么我们就先看下数据源怎么配置的: javaconfig类似下面这样: MapperScan注解常用配置如下: basePackages:Base packages to scan for MyBatis interfaces,也就是mapper接口所在包名 annotatio 阅读全文
posted @ 2019-09-30 17:06 砌码匠人 阅读(2492) 评论(0) 推荐(0) 编辑

2019年9月16日

摘要: 核心方法为org.springframework.web.client.RestTemplate.doExecute(URI, HttpMethod, RequestCallback, ResponseExtractor<T>) 方法内容如下: 其中,重点在下面这三行: ClientHttpRequ 阅读全文
posted @ 2019-09-16 18:01 砌码匠人 阅读(1535) 评论(0) 推荐(0) 编辑

2019年6月10日

摘要: ArrayBlockingQueue 底层以数组的结构存放队列元素,容量大小不可改变。 先看下变量: items:数组,用于存放队列中的元素 takeIndex:获取元素的索引位置 putIndex:存放元素的索引位置 count:队列中当前元素数量 lock:控制队列进出的锁,ArrayBlock 阅读全文
posted @ 2019-06-10 18:15 砌码匠人 阅读(450) 评论(0) 推荐(0) 编辑

2019年5月24日

摘要: 申明:jdk版本为1.8 AbstractQueuedSynchronizer是jdk中实现锁的一个抽象类,有排他和共享两种模式。 我们这里先看排他模式,共享模式后面结合java.util.concurrent.locks.ReentrantReadWriteLock单独写一篇随笔。 后面还会分析可 阅读全文
posted @ 2019-05-24 15:08 砌码匠人 阅读(238) 评论(0) 推荐(0) 编辑

2019年5月7日

摘要: LockSupport提供park()和unpark()方法实现线程阻塞和唤醒。底层实现是通过sun.misc.Unsafe的park和unpark。 关于sun.misc.Unsafe的说明请参见我的另外一篇博客。 核心就是通过一个信号量(permit)实现的,0阻塞,1继续执行。 park时可以 阅读全文
posted @ 2019-05-07 18:06 砌码匠人 阅读(148) 评论(0) 推荐(0) 编辑
摘要: sun.misc.Unsafe是jdk中为了方便使用java语言灵活操作内存预留的类,由于该类是直接操作内存,所以从java的角度被定义为不安全的,也就是类名的由来。 经常分析jdk源码的同学肯定不陌生,因为jdk中很多地方都用到了这个类。 创建实例:、 sun.misc.Unsafe UNSAFE 阅读全文
posted @ 2019-05-07 17:43 砌码匠人 阅读(364) 评论(0) 推荐(0) 编辑

2019年5月5日

摘要: 首先,确认你是对spring boot的自动配置相关机制是有了解的,如果不了解请看我spring boot相关的源码分析。 通常的使用方法是继承自org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.We 阅读全文
posted @ 2019-05-05 14:54 砌码匠人 阅读(363) 评论(0) 推荐(0) 编辑

2019年4月30日

摘要: 如何使用? maven引入: <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-core</artifactId> <version>1.5.1</version> </dependency> 该组件是保护资源用 阅读全文
posted @ 2019-04-30 16:22 砌码匠人 阅读(1233) 评论(0) 推荐(0) 编辑

2019年4月25日

摘要: 在阿里编程规约中关于线程池强制了两点,如下: 【强制】线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。说明:使用线程池的好处是减少在创建和销毁线程上所消耗的时间以及系统资源的开销,解决资源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者“过度切换”的问题。 阅读全文
posted @ 2019-04-25 18:11 砌码匠人 阅读(233) 评论(0) 推荐(0) 编辑

2019年4月12日

摘要: 记录工作点点滴滴,大到系统设计,源码分析,小到IDE设置。 这里要说的是eclipse中Maven Dependencies 为什么有些jar用黑色背景,如下图所示: 网上很多人说jar包在本地仓库不存在等等,其实都不是,原因很简单,那就是。。。。。。。。。 。。。。。。。。。。。。。。。。。。。。 阅读全文
posted @ 2019-04-12 11:49 砌码匠人 阅读(868) 评论(0) 推荐(0) 编辑

导航