首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java源码
订阅
镜花水月550
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
HashMap源码解读(JDK1.7和JDK1.8)
HashMap 是双列存储元素,存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。JDK1.7之前 HashMap 由数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突(通过算法得到的地址可能一致,然而hash值或者value值不…
ArrayList和LinkedList的区别?
从图中可以看出,ArrayList与LinkedList都是List接口的实现类,因此都实现了List的所有未实现的方法,只是实现的方式有所不同,(从中可以看出面向接口的好处, 对于不同的需求就有不同的实现!),而List接口继承了Collection接口,Collection…
Java集合之Hashtable源码解析
1.关于null,HashMap允许key和value都可以为null,而Hashtable则不接受key为null或value为null的键值对。 2.关于线程安全,HashMap是线程不安全的,Hashtable是线程安全的,因为Hashtable的许多操作函数都用sync…
《我们一起进大厂》系列-ConcurrentHashMap & Hashtable
上次面试呀,我发现面试官对我的几个回答还是不够满意,觉得还是有点疑问,我就挑几个回答一下。 我觉得就是一个经验值,定义16没有很特别的原因,只要是2次幂,其实用 8 和 32 都差不多。 用16只是因为作者认为16这个初始容量是能符合常用而已。 根据泊松分布,在负载因子默认为0…
《我们一起进大厂》系列-ArrayList
美丽迷人的面试官您好,因为之前得了流感,差点就没了,还有最近年底忙年会和年终review的事情,实在太忙了,不好意思。 还做了一波导演(其实是打杂)去拍摄蘑菇街的年会视频了,实在忙到爆炸,周末也没能怼出文章哈哈。 有用过,ArrayList就是数组列表,主要用来装载数据,当我们…
分析cglib动态代理的实现
在上一篇专栏中,分析了JDK动态代理的实现,而这一篇就是分析cglib动态代理的实现,建议先看上一篇专栏再看这一篇,因为两者之间都是大同小异的,但是JDK动态代理会更加好理解一点,换言之,也就是cglib比较难,不过理解了JDK动态代理再来看cglib的动态代理就会如鱼得水。 …
分析JDK动态代理的实现
而今天我要讲的是前者,基于接口的动态代理。动态代理在框架中的应用非常广泛,理解了动态代理,对spring,mybatis等常用框架的源码阅读也非常有帮助。这篇文章的由来也是因为肺炎(各位一定不用乱跑阿,出门也要记得带口罩,这个真的很重要!!!),只能在家看mybatis源码,看…
JVM系列之:JVM是如何实现反射的
Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;
LinkedHashMap 原理及源码分析
理解这个问题能帮我们更好的理解 LinkedHashMap 排序的含义,LRU(Least Recently Used)最近最少使用策略,我们思考一下在我们使用缓存的时候,往往会划分一部分的内容提供使用,那么当内存不够用了该怎么办呢?是不是需要淘汰一部分不常使用的数据,淘汰策略…
HashMap 原理及源码分析
由上图可以看出采用了链表检索检索效率可能会降低单链表的检索时间复杂度为 O(n),所以我们可以将单链表转化为二叉搜索树来提高效率时间复杂度就可以提升为 O(log2n)。 这种情况下怎么办呢?就是将树转化为红黑树,红黑树由于其本身的特性就算数据分布不均匀也能保持高效的检索等效率…