java 源码
文章平均质量分 93
sessinsong
程序猿 码农
展开
-
Arrays.asList() add UnsupportedOperationException 问题解析
问题代码: String[] str = new String[]{"a","b","c"}; List<String> list = Arrays.asList(str); list.add("d");这是一个很多人在使用aslist 会遇到的坑,自己也踩过几次,今天翻阅了下源码,做个笔记,加深印象。第一步先查看下 asList 方法的实现。...原创 2019-07-23 11:51:20 · 1176 阅读 · 0 评论 -
hashmap 实现原理总结
HashMap 实现原理数据结构是基于哈希表实现的 (数据+链表+二叉树 (红黑树))默认的加载因子是0.75 默认大小是 16存储元素 put(key,value) a. 计算key 的hash 值, hash b. 根据上面得到的hash 值和数据的长度进行 取余操作,计算出 该元素在数据组的位置 i c. 如果位置i 没有元素 直接存储, ...原创 2018-03-17 18:18:07 · 256 阅读 · 0 评论 -
hashmap 源码解析 new HashMap()
hashmap 源码解析 new HashMap<>(7)hashmap 实例化有四个构造方法 分别是:默认构造函数: 最常用 public HashMap() { this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fields defaulted }指定初始化大小的public HashMa...原创 2019-08-02 20:59:25 · 714 阅读 · 0 评论 -
hashmap 源码解析 扩容
这篇文章是针对 前两篇hashmap 实现原理总结hashmap 源码解析 new HashMap()的补充,主要是讲解hashmap 是怎么进行扩容的。先大概说下总结,后面在进行详细描述如果使用的无参的构造函数申明的hashmap 在第一次put 数据的时候回进行初始化扩容,初始化map 大小是16, 扩容阈值是 12如果使用了带参数的构造函数申明的hashmap, 在第一次put...原创 2019-08-06 18:03:10 · 275 阅读 · 0 评论 -
spring aop DefaultAopProxyFactory 默认代理源码解析
本文主要分析 spring aop DefaultAopProxyFactory.java 里面 选择默认代理逻辑主要方法@Override public AopProxy createAopProxy(AdvisedSupport config) throws AopConfigException { // 如果指定了 optimize为true 或者是proxyTargetClass...原创 2019-08-07 21:09:04 · 930 阅读 · 0 评论