Java源码
文章平均质量分 79
源码
HoryC
这个作者很懒,什么都没留下…
展开
-
一般 for 循环遍历和迭代器遍历 LinkedList 区别
先说区别:普通for循环:每次遍历一个索引的元素之前,都要访问之前所有的索引。每次访问一个元素后,都会用游标记录当前访问元素的位置,遍历一个元素,记录一个位置。普通 for 循环普通 for 循环遍历方式如下:LinkedList<String> linkedList = new LinkedList<>();linkedList.add("A");linkedList.add("B");linkedList.add("C");linkedList.ad原创 2021-03-19 17:03:57 · 2332 阅读 · 0 评论 -
Java集合源码解析之——ArrayList
简介ArrayList是实现 List 接口的实现类,内部是一个大小可变的数组。ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复。ArrayList 的好处是可以不用限定容器的大小,它会根据元素的增加而扩容。但是存储进去的数据类型都会变成Object类型,虽然每个元素有自己的index,但不像数组的下标可以更加方便的操作。类定义ArrayList定义如下:public class ArrayList<E> extends AbstractList<E原创 2021-03-19 14:17:25 · 293 阅读 · 0 评论 -
一步步教你理解JDK动态代理
# 为什么使用代理?简单地说,除了当前类能够提供的功能外,我们还需要补充一些其他功能。最容易想到的情况就是权限过滤,比如有一个类可以用来做某项业务,但是由于安全原因只有某些用户才可以调用这个类,此时我们就可以做一个该类的代理类,要求所有请求必须通过该代理类,由该代理类做权限判断,如果安全则调用实际类的业务开始处理。可能有人说为什么我要多加个代理类?我只需要在原来类的方法里面加上权限过滤不就完了吗?在类的设计中有一个类的单一性原则问题,就是每个类的功能尽可能单一,因为只有功能单一这个类被改动的可能性才原创 2020-07-23 17:59:32 · 253 阅读 · 0 评论 -
Java集合源码解析之——HashMap
# 前言该文章的内容是建立在读者对HashMap有初步了解的基础上的HashMap中有很多知识点,比如哈希表、位运算、链表、红黑树等,HashMap 的源码也是很值得大家去学习的# 哈希表在讲源码之前首先了解一下什么是哈希表Hash表也称为散列表,也有直接译作哈希表,Hash表是一种根据关键码值(key-value)而直接进行访问的数据结构。也就是说它通过把关键码值映射到表中的一个位置来访问记录,以此来加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。在链表、数组等数据原创 2020-07-23 17:35:58 · 172 阅读 · 0 评论