随笔分类 -  框架模拟-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 阅读(177) 评论(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 阅读(353) 评论(0) 推荐(0) 编辑

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

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

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

posted @ 2020-04-27 23:43 silyvin 阅读(211) 评论(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 阅读(100) 评论(0) 推荐(0) 编辑

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

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

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

posted @ 2019-05-24 17:22 silyvin 阅读(482) 评论(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 阅读(791) 评论(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 阅读(773) 评论(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 阅读(236) 评论(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 阅读(452) 评论(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 阅读(281) 评论(0) 推荐(0) 编辑

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

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

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示