随笔分类 -  框架模拟-yet

当动态代理遇到ioc (二)cglib
摘要:接mybatis guice 事务代理切面的代码: package sun.myproxy; import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.pr 阅读全文

posted @ 2020-10-07 18:26 silyvin 阅读(185) 评论(0) 推荐(0)

cglib与mock,自研mockito
摘要:逻辑: natvie test无法搞定db,也不能在unittest环节搞定——引出mockito mockito无法处理injectmock 非public方法的when、verify——引出simple mockito(实际上mockto可以处理protected inner function, 阅读全文

posted @ 2020-10-01 00:20 silyvin 阅读(373) 评论(0) 推荐(0)

当动态代理遇到ioc
摘要:在 work log 2020.4.28中,我们使用jdk动态代理处理方法的事务增强 图1 问题的引出 根本原因:动态代理和cglib,会丢掉被代理类成员变量和方法上的注解 起先,我们禁止被增强的类里面使用注解注入依赖,代码会自动审核这种情况 private static final class T 阅读全文

posted @ 2020-04-29 17:09 silyvin 阅读(377) 评论(0) 推荐(0)

线程池的原理
摘要:本质就是利用无限循环run的thread➕BlockingQueue手写阻塞队列 2020.12.6 补充 务必注意线程池的有效shutdown机制,这关系到线程池被有效回收,具体可见:匿名野线程池导致oom 2021.3.9 本例子中,当没有任务时,并没有用BlockingQueue.take阻塞 阅读全文

posted @ 2020-04-27 23:43 silyvin 阅读(214) 评论(0) 推荐(0)

模拟future
摘要:import java.util.concurrent.ExecutionException; abstract public class MyFuture { private volatile Object returnVal; private volatile Boolean isExcepti 阅读全文

posted @ 2020-04-10 14:18 silyvin 阅读(106) 评论(0) 推荐(0)

从实践模拟角度再议bio nio【重点】
摘要:从实践角度重新理解BIO和NIO https://mp.weixin.qq.com/s/rsvAmmoJiseEmjChI95m6Q 1 bio的2次阻塞与缺陷 服务器端在启动后,首先需要等待客户端的连接请求(第一次阻塞),如果没有客户端连接,服务端将一直阻塞等待,然后当客户端连接后,服务器会等待客 阅读全文

posted @ 2020-01-04 23:53 silyvin 阅读(315) 评论(0) 推荐(0)

当自定义注解遇到spring和类增强
摘要:1 用spring托管对象调用原生带有自定义注解的方法 GsztbLiveService service = ContextHelper.getBean(GsztbLiveService.class); // service.getClass().getDeclaredMethods(); Meth 阅读全文

posted @ 2019-05-24 17:22 silyvin 阅读(493) 评论(0) 推荐(0)

Java遍历包中所有类方法注解
摘要:https://www.cnblogs.com/rinack/p/7606285.html 一.代码实例 import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.lang.anno 阅读全文

posted @ 2018-12-17 11:55 silyvin 阅读(800) 评论(1) 推荐(0)

手动实现一个简易版 tomcat(yet)
摘要:https://mp.weixin.qq.com/s?__biz=MzA5MzcxNjY4Ng==&mid=2648107477&idx=1&sn=237afdcd8dc67f3a36aac8a38fcaada9&chksm=887be074bf0c69627659d3f076420ba7d477b 阅读全文

posted @ 2018-06-10 19:25 silyvin 阅读(782) 评论(0) 推荐(0)

我们为什么要使用AOP?
摘要:https://mp.weixin.qq.com/s?__biz=MzI4Njc5NjM1NQ==&mid=2247485157&idx=1&sn=a13da6c725ab278dc4cac0e8bbb2d1cd&chksm=ebd639c9dca1b0df796fe... 阅读全文

posted @ 2018-04-29 00:14 silyvin 阅读(244) 评论(0) 推荐(0)

手把手教你如何自定义DAO框架(重量级干货)(yet)
摘要:https://mp.weixin.qq.com/s?__biz=MzI4Njc5NjM1NQ==&mid=2247484864&idx=2&sn=9721e840eab2b929e9523d82c45a1bb6&chksm=ebd63aecdca1b3fa998f2... 阅读全文

posted @ 2018-03-18 20:32 silyvin 阅读(459) 评论(0) 推荐(0)

自己手写一个SpringMVC框架
摘要:https://mp.weixin.qq.com/s?__biz=MzI4Njc5NjM1NQ==&mid=2247485006&idx=1&sn=c9f4b1c69a5101dd6176df07585a7ac3&chksm=ebd63962dca1b074ae01b... 阅读全文

posted @ 2018-03-18 20:31 silyvin 阅读(324) 评论(0) 推荐(0)

事务的原理 学习笔记
摘要:1.java底层是怎样实现事务的 Java事务是作用于Connection之上的(出自:Java事务处理全解析(二)—— 失败的案例),所以 事务的传播本质是解决一个Connection对象是否在当前线程不同函数共享的问题 对于Connection对象在当前线程不同函数中的传递问题,在以下博客有说: 阅读全文

posted @ 2017-07-28 10:15 silyvin 阅读(163) 评论(0) 推荐(0)