![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
底层文档分析
文章平均质量分 57
苏然HHash#
悟道不止 ,求学不止
展开
-
HashMap中的put方法底层源码分析
首先进入put方法时入参的key和value一并传入此时会根据穿入的key去调用一个hash算法,将此时的key生成一个相对应的hash值然后调用putVal方法 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, i;.原创 2021-08-15 12:03:09 · 107 阅读 · 0 评论 -
AOP的代理模式源码解析
一·代理模式在Aop中我们可以选择的是两种代理模式:1·Cglib的动态代理模式2·JDK的动态代理模式而且我们选择代理的时候是否有接口会影响到我们的代理选择模式;二·代理过程我们首先来看看整个的代理对象的生成过程:此时主要是做了两件事,第一件事:初始化了通知链;第二件事:如果单例为空,则根据反射我们会去生成一个代理对象;此时我们继续可以看到这里主要是我们的代理对象的配置类,如果实例为空则进入AOP的代理工厂选择一种代理模式并创建对象返回...原创 2021-08-13 23:16:30 · 178 阅读 · 0 评论 -
源码层次分析ThreadPool中的Executor,ExecutorService之间的区别与联系
一·结构图具体的子类和实现类继承和实现关系,图中已经明确标明了,不再过多叙述二·源码层次分析 Exector: 1·首先来看看Executor的源码,比较能明确看出Executor 接口定义了execute()方法用来接收一个Runnable接口的对象。 ExecutorService: 1·我们看到ExecutorService 接口中的 submit()方法可以接受Runnable和Callable接...原创 2021-08-10 00:17:10 · 253 阅读 · 0 评论 -
Mybatis的底层实现流程(一)
一·整体的架构Mybatis的整体架构其实大致的可以分为三个层次:接口层,核心层,基础层;接口层也就是我们经常会在编码时看到的sqlSession会话,核心层其实主要是由配置解析,参数处理,sql执行,以及结果映射几个部分构成。二·流程分析: 整体的sql运行流程中主要是会由一个叫Executor的执行者来进行,流程的开始会进入建造者模式创建一个有关sqlSession的sqlSessionFactoryBuilder的会话工厂,主要是产生会话...原创 2021-08-08 23:59:19 · 263 阅读 · 0 评论 -
128陷阱的底层源码分析
一·测试首先我们测试如下一小段代码public class test3 { public static void main(String[] args) { // TODO Auto-generated method stub Integer a1 = 127; Integer a2 = 127; Integer a3 = 128; Integer a4 = 128; System.out.println(a1==a2); System.out.println(a原创 2021-06-14 14:03:41 · 134 阅读 · 0 评论 -
java1.8下的集合框架中ArrayList底层扩容机制分析
java1.8下的集合框架中ArrayList底层扩容机制分析一:初始化阶段1.首先,我们可以知道ArrayList是继承了abstract类,实现了一个List的接口。在开始使用ArrayList的时候,Object类自动的为ArrayList数组初始化创建了一个Object数组的对象,默认为空。private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};2.在API中还会生成一个关于Array的含参构造器原创 2021-05-28 00:44:51 · 155 阅读 · 0 评论