上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 25 下一页

2021年11月25日

Java类加载

摘要: 3个阶段:加载、连接、初始化。 其中连接这步可以细分为验证、准备、解析3个步骤。 加载: 按全类名找到class文件或者jar包里的class文件,二进制流读取,然后转换流静态数据结构为方法区的运行时数据结构,把类定义加载到方法区。 然后在堆里边生成一个Class对象作为方法区类定义的入口。(btw 阅读全文

posted @ 2021-11-25 15:32 肥兔子爱豆畜子 阅读(29) 评论(0) 推荐(0) 编辑

2021年11月22日

观察者模式的简单例子

摘要: Spring框架里边有很多Listener,对应的设计模式是观察者模式。所以写了一个小例子加深理解。 一共3个类,被观察对象,观察者接口,观察者实现 import java.util.ArrayList; import java.util.List; /** * 被观察对象 * */ public 阅读全文

posted @ 2021-11-22 09:34 肥兔子爱豆畜子 阅读(245) 评论(0) 推荐(0) 编辑

2021年11月20日

SpringBoot的SPI机制

摘要: Java中自带了所谓SPI机制,按照约定去META-INF/services目录里找各个接口的配置文件,找到接口的实现类,然后使用当前线程上线文类加载器定位到实现类加载器,通过其加载实现类,然后再反射newInstance得到实现类的实例。 Spring里也有类似的SPI,思路根上面类似,从clas 阅读全文

posted @ 2021-11-20 11:59 肥兔子爱豆畜子 阅读(4876) 评论(0) 推荐(0) 编辑

2021年11月15日

Java反射的性能问题

摘要: 前言 动态代理分为两种,JDK动态代理和spring里边使用的Cglib动态代理。分别使用的是interface和子类继承的思路来对委托类进行wrap生成代理类。 本篇算是动态代理系列的番外篇(前文:https://www.cnblogs.com/lyhero11/p/15557389.html) 阅读全文

posted @ 2021-11-15 22:45 肥兔子爱豆畜子 阅读(1119) 评论(0) 推荐(0) 编辑

动态代理系列Cglib的FastClass机制(四)

摘要: 书接上文,https://www.cnblogs.com/lyhero11/p/15553458.html Cglib代理类分析 上回书遗留了一个疑问:cglib是如何动态的对委托类的方法进行调用的,我们说由于Java反射的一些性能问题,cglib使用了一种叫做FastClass的技巧来优化这个调用 阅读全文

posted @ 2021-11-15 17:29 肥兔子爱豆畜子 阅读(3604) 评论(4) 推荐(3) 编辑

2021年11月14日

动态代理与AOP(三)

摘要: 书接上文,https://www.cnblogs.com/lyhero11/p/10370750.html , 又是1年多,天性自由散漫,佛系求知,但总归是有求知意愿,所以脚步不能停。这次尝试把动态代理和AOP理解更深入些。 这次结合AOP来看看动态代理的玩法。先看看怎么开发AOP切面。再引出spr 阅读全文

posted @ 2021-11-14 21:30 肥兔子爱豆畜子 阅读(445) 评论(0) 推荐(0) 编辑

2021年11月12日

模拟线程饥饿

摘要: 思路和代码来自于网络,本文仅是个人记录性质,感谢原作者们。 思路 线程1、线程2来自于一个固定线程池newFixedThreadPool(2),然后分别都去执行任务A,任务A当中会向同一个线程池提交任务B返回Future,同时任务A使用Future.get()等待任务B的返回结果才能继续往下执行。 阅读全文

posted @ 2021-11-12 15:15 肥兔子爱豆畜子 阅读(52) 评论(0) 推荐(0) 编辑

2021年11月7日

tomcat的3个线程栈dump样本分析

摘要: "朝花夕拾、不留遗憾。念念不忘,必有回响。" 通过通读tomcat请求任务处理、tomcat线程池、TaskQueue、ReentrantLock以及AQS的源码,以及对它们的功能和原理的了解,我们就可以分析tomcat线程dump里边的蛛丝马迹了。 另外关于样本三,由于没有实验重现问题进而证明推断 阅读全文

posted @ 2021-11-07 18:26 肥兔子爱豆畜子 阅读(979) 评论(0) 推荐(0) 编辑

2021年11月6日

LockSupport.park()分析

摘要: 本文一些理解和代码参考了看过的网上一些文章,感谢原作者们 之前在https://www.cnblogs.com/lyhero11/p/13681548.html 中讨论了java并发编程里的“等待-通知”范式,里边提到了LockSupport,最近也在研究之前的一份tomcat线程dump的样本和A 阅读全文

posted @ 2021-11-06 10:05 肥兔子爱豆畜子 阅读(1387) 评论(0) 推荐(0) 编辑

2021年11月3日

windows下开启docker占用内存过高解决办法

摘要: 实际上是依赖的WSL2占用的内存,在当前用户目录下新建.wslconfig文件: [wsl2] memory=2GB # Limits VM memory in WSL 2GB, also can be set to other values swap=0 localhostForwarding=t 阅读全文

posted @ 2021-11-03 10:13 肥兔子爱豆畜子 阅读(2914) 评论(2) 推荐(1) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 25 下一页

导航