
Java
文章平均质量分 78
该专栏用于学习Java的一些基础特性,主要从源码的角度,学习Java源码的有点、分析Java的集合、IO、多线程等基础特性
伟大的01
Persistence begins with love.
展开
-
Java集合框架之Vector源码分析
Java集合体系中的一个线性集合,底层原理其实和ArrayList基本一致。ArrayList和Vector又什么区别?Vector是线程安全的扩容机制不同,ArrayList通常增长原本容量的0.5倍,vector增长1倍本篇文章就通过这个面试题,结合Vector的源码验证一下通过翻看Vector的源码,发现Vector对外提供的对集合进行操作的函数都是通过synchronized关键字进行加锁的。这也就是为啥说Vector是线程安全的。原创 2023-10-16 23:28:28 · 202 阅读 · 0 评论 -
Java集合框架之ArrayList源码分析
什么是ArrayList?ArrayList底层数据结构是怎么实现的?作为一个容器,分析增删改查的过程ArrayList的扩容机制通过简单分析ArrayList的源码,学习了Java中ArrayList的一些通用操作,增删改查以及扩容,当然,翻看源码还可以发现,ArrayList还提供了很多批量操作的API,其逻辑也不复杂。ArrayList内部包含了一个实现了Iterator接口的内部类,用于遍历操作,但是Java的集合框架中,迭代器是一个通用的操作接口,后面再独立拿出来进行分析。原创 2023-10-15 22:07:24 · 327 阅读 · 0 评论