![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码学习分析
文章平均质量分 68
潇潇雨歇_
www
展开
-
手写ThreadPoolExecutor线程池
*** 自定义阻塞队列*//** 1.任务队列 *//** 2.锁 *//** 3.生产者条件 *//** 4.消费者条件 *//** 5.队列容量 *//*** 构造方法,指定队列的最大容量*//*** 判断阻塞队列是否已满* @return*//*** 获取队列的容量* @return*/try{}finally {/*** 阻塞获取队列中的任务,获取不到元素会一直阻塞* @return*/try {原创 2023-06-13 10:51:35 · 232 阅读 · 0 评论 -
Cglib动态代理实现及原理
通过字节码技术创建这个类的子类,实现动态代理/*** 被代理类*/System.out.println("被代理的方法执行了");}}该类实现了创建子类的方法与代理的方法。//设置父类方法通过入参即父类的字节码,扩展父类的class来创建代理对象。intercept()方法拦截所有目标类方法的调用,obj表示目标类的实例,method为目标类方法的反射对象,args为方法的动态入参,methodProxy为代理类实例。通过代理类调用父类中的方法。原创 2023-01-04 16:19:05 · 814 阅读 · 1 评论 -
JDK动态代理实现与原理分析
1.代理类是自己手工实现的,自己创建一个java类,表示代理类2.同时也要实现你所要代理的目标3.静态代理的优缺点优点:1)实现简单2)容易理解缺点:当你的项目中,目标类的代理类很多的时候,有一下的缺点1)当目标类增加了,代理类可能也需要成倍的增加2)当你的接口中功能在增加了,或者修改了,会影响众多的实现类,厂家类,代理都需要修改,影响比较多1) 动态代理是指代理类对象在程序运行时由JVM根据反射机制动态生成的。动态代理不需要定义代理类的,java源文件。原创 2022-12-23 16:40:44 · 1372 阅读 · 0 评论 -
手写简易版SpringMVC框架
1.反射工具类package com.weichai.util;import java.io.File;import java.io.FileFilter;import java.io.IOException;import java.net.JarURLConnection;import java.net.URL;import java.net.URLDecoder;impo...原创 2019-02-13 18:34:55 · 243 阅读 · 0 评论 -
手写HashMap
1.Map集合接口package com.weichai.hashmap;/** * 纯手写Map集合接口 * @author linhaiy * @date 2019.02.12 * @param <K> * @param <V> */public interface ExtMap<K, V> { /** * ...原创 2019-02-13 18:19:23 · 225 阅读 · 0 评论 -
手写LinkedList集合
1.实现源码package com.weichai.linkedlist;import java.util.LinkedList;/** * 手写LinkeList * 底层实现是一个双向链表 * @author linhaiy * @date 2019.02.12 * @param <E> */public class ExtLin...原创 2019-02-13 18:16:45 · 184 阅读 · 0 评论 -
手写ArrayList集合
1.手写ArrayList集合需要实现的接口package com.weichai.arraylist;/** * 自定义手写ArrayList接口 * @author linhaiy * @date 2019.02.12 * @param <E> */public interface ExtList<E> { public void ...原创 2019-02-13 18:15:49 · 331 阅读 · 0 评论 -
手写SpringIOC注解实现版本
1.Maven依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/...原创 2019-02-13 18:11:55 · 447 阅读 · 0 评论 -
手写SpringIOC的XML实现方式
1.XML文件(Spring.xml)<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:cont...原创 2019-02-13 18:04:33 · 297 阅读 · 0 评论 -
手写SpringBoot框架
1.Maven依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/...原创 2019-02-14 18:04:49 · 1141 阅读 · 1 评论 -
使用Java泛型,反射,注解等技术开发高复用mini版MyBatis持久层框架
一.框架源码:1.作用于类的注解package com.weichai.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.anno...原创 2018-12-06 21:20:45 · 364 阅读 · 0 评论