
程序人生
strive____
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ThreadPoolExecutor记录
基本工作流程: 当一个任务提交时,如果当前启动的线程数小于核心线程数量,则启动新的线程处理任务,即使其他线程时空闲状态.当大于核心线程数量且小于最大线程数量,并且当队列满了时创建新线程进行处理. 线程池工作线程创建: 工作线程创建使用的ThreadFactory.如果没有特殊定义,使用DefaultThreadFactory工厂进行创建,默认工厂创建的线程有相同的ThreadGroup,非守护型,...翻译 2019-06-13 14:43:27 · 152 阅读 · 0 评论 -
springboot初识
springboot 项目构建(基于idea,gradle) 1.按下图springio初始化一个springboot项目 2.选择应用组件原创 2019-06-08 19:29:45 · 126 阅读 · 0 评论 -
springboot自动配置实现初探
结合源码探究springboot如何实现自动配置 1。@SpringBootApplication一切从这里开始 @SpringBootApplication public class Demo2Application { public static void main(String[] args) { SpringApplication.run(Demo2Application.class, a...原创 2019-06-08 20:04:37 · 270 阅读 · 0 评论 -
实践课:实现一个简易版的springboot中的@EnableConfigurationProperties自动注入组件
1.如何在spring中,为bean初始化属性??? 答:spring中的BeanPostProcessor能够完成对bean的初始化加工. 2.我应该从哪里获取到我在配置文件中配置的属性呢? 答:可以在Environment对象的属性中获取,我们可以通过ApplicationContextAware让spring给我注入context,进一步获取该对象. 现在我们已经可以完成对一个bean进行属...原创 2019-06-10 17:53:06 · 501 阅读 · 0 评论 -
MyBatis技术初探
初始化 String resource = “org/mybatis/example/mybatis-config.xml”; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()....原创 2019-06-04 14:44:46 · 148 阅读 · 0 评论 -
深入spring注解@Conditional
@Conditional基于条件判断是否注入bean,在springboot中有大量的自定义条件注解,ConditionalOnBean,ConditionalOnClass,ConditionalOnCloudPlatform等等。 下面我们就自己定义一个类似的注解,并看看他是怎么工作的吧。 1.定义一个注解 @Retention(RetentionPolicy.RUNTIME) @Target...原创 2019-06-10 21:52:38 · 1297 阅读 · 0 评论 -
简易记录@Aspect
简单写一下切面实现: @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD,ElementType.TYPE}) public @interface MyPointcut { } 注解切点 @Aspect @Component public class MyAdvice { @Pointcut("@annotat...原创 2019-06-11 11:07:40 · 138 阅读 · 0 评论 -
ThreadLocal简析
相信熟悉多线程的小伙伴,都熟悉这个对象的吧,今天咱们就来看一下他的内部构造以及和Thread的关系吧. 一切从set开始… public void set(T value) { Thread t = Thread.currentThread();//获取当前线程的id ThreadLocalMap map = getMap(t);//从线程中获取当前的map ...原创 2019-06-21 21:53:19 · 130 阅读 · 0 评论