前言
说真的,在 Java 使用最多的集合类中,List 绝对占有一席之地的,它和 Map 一样适用于很多场景,非常方便我们的日常开发,毕竟存储一个列表的需求随处可见。尽管如此,还是有很多同学没有弄明白 List 中 ArrayList 和 LinkedList 有什么区别,这简直太遗憾了,这两者其实都是数据结构中的基础内容,这篇文章会从基础概念开始,分析两者在 Java 中的具体源码实现,寻找两者的不同之处,最后思考它们使用时的注意事项。
这篇文章会包含以下内容。
- 介绍线性表的概念,详细介绍线性表中数组和链表的数据结构。
- 进行 ArrayList 的源码分析,比如存储结构、扩容机制、数据新增、数据获取等。
- 进行 LinkedList 的源码分析,比如它的存储结构、数据插入、数据查询、数据删除和 LinkedList 作为队列的使用方式等。
- 进行 ArrayList 和 LinkedList 的总结。
性能优化专栏
1.Tomcat性能优化整理
2.JVM性能优化专题
3.Mysql性能优化整理
微服务架构面试专栏
1.SpringCloud面试整理
2.SpringBoot面试整理
3.Dubbo面试整理
并发编程高级面试专栏
开源框架面试题专栏
1.Spring面试整理
2.SpringMVC面试整理
3.MyBatis面试整理
分布式面试专栏
1.分布式限流面试整理
- ZooKeeper专题
- Nginx面试专题
2.分布式通讯面试整理
- Kafka面试专题
- ActiveMQ消息中间件面试专题
分布式数据库面试整理
1.redis面试专题
2.MongoDB面试专题
3.memcached面试专题
总结
我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。实际上,作为程序员,丰富自己的知识储备,提升自己的知识深度和广度是很有必要的。
Mybatis源码解析
s://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)**
Mybatis源码解析
[外链图片转存中…(img-L1VPSOjA-1623902591615)]