理解TheadLocal源码
˃ 记忆会被改变,以前看过的代码,现在发现和记忆中的不一样,大脑会修改记忆的确是真的. 那就重复的看下,记录下吧. 作用: 为每个使用该变量的线程创建一个独立的变量副本.在多线程环境,就能避免变量被篡...
动态代理
一、实现动态代理的方式: jdk动态代理 CGlib动态代理 javassist动态代理 CGlib底层实现依赖于ASM, javassist自成一派. 由于ASM和javassist需要程序员直...
JAVA中SPI机制
SPI是什么 SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架和替换组件。 整体机制图如下: 调用方-˃标准服务...
网络知识汇总
传输层概述 作用:传输层为它上面的应用层提供通信服务。 在OSI七层参考模型中,传输层是面向通信的最高层,也是用户功能的最底层。 传输层两大重要的功能:复用 和 分用。 复用:在发送端,多个应用进程公...
集合各实现类的底层实现原理(转)
ArrayList实现原理要点概括 ˃ ArrayList是List接口的可变数组非同步实现,并允许包括null在内的所有元素。 底层使用数组实现 该集合是可变长度数组,数组扩容时,会将老数组中的元素...
LinkedList重温
LinkedList 定义 public class LinkedList extends AbstractSequentialList implements List, Deque,...
按权重随机排序
按权重随机排序 方案1,将list中每个实体的权重先取个随机值,然后在按随机后的权重排序。 public void sortList(List list) { if(list == n...
JVM总结
花费了一周时间对深入理解Java虚拟机做了个回顾,对原来的知识做了个补充,直到慢慢的阅读中,才发现有好多东西已经忘了。把所阅读的通过一个思维导图做个了简单的总结,时间仓促,还有不全。待十一节后继续补充...
触发JVM进行Full GC的情况及应对策略(转)
堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示: 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为...