
源码级知识
文章平均质量分 67
源码级别知识
结构化思维wz
敬他人,即是敬自己;靠自己,胜于靠他人。
展开
-
MyBatis是如何为Dao接口创建实现类的
本文是我的MyBatis源码分析专栏中的一小部分,作为试读部分,详细讲述了MyBatis是如何通过动态代理创建Dao接口的实现类的。原创 2022-11-28 21:37:36 · 887 阅读 · 0 评论 -
Spring两种动态代理原理分析+AOP的坑
AOP原理分析AOP(面向切面编程)的本质就是Spring的动态代理开发,通过代理类为原始类增加额外功能。文章目录AOP原理分析AOP的开发方式JDK动态代理CGLIB动态代理AOP的坑AOP的开发方式MethodInterceptorMethodInterceptor方法拦截器接口---->实现类–>invoke方法(书写额外功能)参数:MethodInvocation: 额外功能所增加给的原始方法//object为原始方法的返回值public Object invoke(Me原创 2022-01-12 15:34:51 · 540 阅读 · 0 评论 -
【恋上数据结构】 双向链表(JDK-LinkedList底层)
恋上数据结构——双向链表的实现,gitee同步更新。原创 2021-12-29 09:44:01 · 795 阅读 · 0 评论 -
【恋上数据结构】 链表(手写LinkedList+练习)
用Java写一个LinkedList,LeetCode链表相关练习题。原创 2021-12-27 15:27:58 · 896 阅读 · 0 评论 -
【恋上数据结构】手写ArrayList + Java动态扩容分析
Gitee同步更新代码和笔记:文章目录一、ArrayList动态扩容分析泛型分析手写ArrayListJDK源码分析一、ArrayList动态扩容分析在Java中,由于数组的大小是固定的,所以扩容会申请一个更大的数组,然后把引用指向新的数组。代码实现: /** * 保证要有capacity的容量(elements数组的长度) * @param capacity */ private void ensureCapacity(int capac原创 2021-12-26 15:06:25 · 635 阅读 · 1 评论 -
自己写一个Spring中的多线程 @Async 注解
手写@Async异步注解思路:通过Aop拦截只要在我们方法上有使用到我们自己定义的异步注解,我们就单独的开启一个异步线程去执行目标方法。1.自定义一个注解/** * @author 王泽 */@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface MyAsync { String value() default "";原创 2021-09-24 18:59:59 · 340 阅读 · 0 评论