源码阅读
java金融
公众号:java金融
展开
-
为什么spring 被@Repository注解标识注入后是代理类
背景今天发现一个奇怪的问题,有一个类是用的@Repository注解标识注入的,并且这个类并没有配置任何带代理和aop配置。但是得到的这个类不是一个原生类,而是一个代理类,如果换成了Component注解这时候得到的类就是原生类 。下面分别演示下这两种情况。先用@Repository注入得到的class是下面的:class com.workit.demo.service.ServiceA$$...原创 2020-04-14 10:23:38 · 1235 阅读 · 2 评论 -
Springboot 源码解析-自定装配
面试官经常会问你知道springboot的自定装配吗?它是怎么实现的吗?今天我们就来通过源码一起分析下它吧。首先我们先搭建一个springboot的简单项目,找到启动类,然后通过这个注解我们进入到@EnableAutoConfiguration这个注解里面,这个AutoConfigurationImportSelector这个类就是自动装配的核心了。我们直接debug到select...原创 2020-04-07 00:30:13 · 292 阅读 · 0 评论 -
JVM 完整深入解析
工作之余,想总结一下JVM相关知识。Java运行时数据区:Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域,这些区域有各自的用途、创建和销毁的时间,有些区域随虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束来建立和销毁。Java虚拟机所管理的内存包括以下几个运行时数据区域,如图:1、程序计数器:指向当前线程正在执行的字节码指令。线程私...转载 2020-03-20 15:39:47 · 478 阅读 · 0 评论 -
记一次诡异的debug
idea debug的时候会开启一个线程之行 toString,所以我们一般要在toString 做什么操作。目前在读spring解析自定义标签的源。解析过程中在XmlBeanDefinitionReader对象中的createDefaultNamespaceHandlerResolver()方法中需要生成DefaultNamespaceHandlerResolver对象,采用的是构造方法new ...原创 2018-07-01 00:08:12 · 338 阅读 · 0 评论 -
ArrayList之SubList源码解析
subList是ArrayList的内部类,public List<E> subList(int fromIndex, int toIndex) { subListRangeCheck(fromIndex, toIndex, size); return new SubList(this, 0, fromIndex, toIndex);}subListRang...原创 2019-05-30 20:31:44 · 856 阅读 · 0 评论