
程序人生
strive____
这个作者很懒,什么都没留下…
展开
-
ThreadPoolExecutor记录
基本工作流程:当一个任务提交时,如果当前启动的线程数小于核心线程数量,则启动新的线程处理任务,即使其他线程时空闲状态.当大于核心线程数量且小于最大线程数量,并且当队列满了时创建新线程进行处理.线程池工作线程创建:工作线程创建使用的ThreadFactory.如果没有特殊定义,使用DefaultThreadFactory工厂进行创建,默认工厂创建的线程有相同的ThreadGroup,非守护型,...翻译 2019-06-13 14:43:27 · 141 阅读 · 0 评论 -
springboot初识
springboot 项目构建(基于idea,gradle)1.按下图springio初始化一个springboot项目2.选择应用组件原创 2019-06-08 19:29:45 · 118 阅读 · 0 评论 -
springboot自动配置实现初探
结合源码探究springboot如何实现自动配置1。@SpringBootApplication一切从这里开始@SpringBootApplicationpublic class Demo2Application {public static void main(String[] args) {SpringApplication.run(Demo2Application.class, a...原创 2019-06-08 20:04:37 · 259 阅读 · 0 评论 -
实践课:实现一个简易版的springboot中的@EnableConfigurationProperties自动注入组件
1.如何在spring中,为bean初始化属性???答:spring中的BeanPostProcessor能够完成对bean的初始化加工.2.我应该从哪里获取到我在配置文件中配置的属性呢?答:可以在Environment对象的属性中获取,我们可以通过ApplicationContextAware让spring给我注入context,进一步获取该对象.现在我们已经可以完成对一个bean进行属...原创 2019-06-10 17:53:06 · 490 阅读 · 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 · 138 阅读 · 0 评论 -
深入spring注解@Conditional
@Conditional基于条件判断是否注入bean,在springboot中有大量的自定义条件注解,ConditionalOnBean,ConditionalOnClass,ConditionalOnCloudPlatform等等。下面我们就自己定义一个类似的注解,并看看他是怎么工作的吧。1.定义一个注解@Retention(RetentionPolicy.RUNTIME)@Target...原创 2019-06-10 21:52:38 · 1287 阅读 · 0 评论 -
简易记录@Aspect
简单写一下切面实现:@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD,ElementType.TYPE})public @interface MyPointcut {}注解切点@Aspect@Componentpublic class MyAdvice { @Pointcut("@annotat...原创 2019-06-11 11:07:40 · 128 阅读 · 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 · 117 阅读 · 0 评论