- 博客(3)
- 收藏
- 关注
原创 详细完整的对象实例化过程
对象的实例化过程需要做哪些工作呢?首先Java是一门面向对象的语言,类是对所属于一类的所有对象的抽象,对象的所有结构化信息都定义在了类中,因此对象的创建需要根据类中定义的类型信息,也就是类所对应的class二进制字节流,所以这就涉及到了类的加载与初始化。其次,对象大多存储在堆内存中,这就涉及到内存的分配。除此之外,还有变量的初始化零值,对象头的设置,在栈中创建对象的引用等等,本文我们来一起详细的分析一下对象的完整实例化过程。 1 整体流程 从整天上来看对象的整个实例化过程如下图所示: 为了故事的顺利发展,
2021-04-11 14:57:23 606 1
原创 ArrayList源码分析
ArrayList就像是宰相的肚子,好像可以容纳无限多的元素,而且啥都能装。事实上,ArrayList也被称为动态数组,意思是可以动态扩容的数组,它实现了List接口的所有方法,并且允许向其中添加null元素。该实现与Vector基本一致,只是ArrayList是非同步的。 声明 首先看ArrayList的声明: public class ArrayList<E> extends AbstractList<E> implements List<E>
2021-02-23 13:54:53 125 1
原创 Java集合类
Java集合类 这里首先从整体上鸟瞰Java的集合框架,从整体上对集合的结构有个印象,如下是框架结构图。 Collection结构框架图: map结构框架图: 从上图中可以看出,java的集合框架主要分为两个功夫流派。也就是collection和map。其中collection一派是集合派,map是key-value映射派。而collection派中还有个Iterable的东东称为迭代器,是用来遍历集合派中的每个元素的。就好像集合派祖传的点名册,上面记载了每个集合派中弟子的信息。这个东东是仅限于
2021-02-18 14:47:45 124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人