JVM系列(五)-- 字节码执行机制(Part 2)发表于2020-07-16更新于2020-07-16字数统计3k阅读时长22分 方法调用 Java 的方法的执行分为两个部分: 1. 方法调用:确定被调用的方法是哪一个; 2. 基于栈的解释执行:真正地执行方法的字节码。 方法调用并不等同于方法中的代码被执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还未涉及方法内部的具体运行过程。阅读全文
JVM系列(四)-- 字节码执行机制(Part 1)发表于2020-07-15更新于2020-07-16字数统计1.9k阅读时长13分 运行时栈帧结构 Java虚拟机以方法作为最基本的执行单元,“栈帧”(Stack Frame)则是用于支持虚拟机进行方法调用和方法执行背后的数据结构,它也是虚拟机运行时数据区中的虚拟机栈(Virtual Machine Stack)的栈元素。 每一个方法从调用开始至执行结束的过程,都对应着一个栈帧在虚拟机栈里面从入栈到出栈的过程。阅读全文
ArrayList源码分析发表于2020-07-14更新于2020-07-15字数统计3.8k阅读时长33分 Free Talk **ArrayList 的底层是数组队列,相当于动态数组。**与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 它继承于 AbstractList,实现了 List, RandomAccess, Cloneable, java.io.Serializable 这些接口。JavaGuide阅读全文
Java集合(Collection)发表于2020-07-14更新于2020-07-15字数统计1.8k阅读时长13分 Free Talk 什么是集合(Collection)?集合就是“由若干个确定的元素所构成的整体”。 在Java中,如果一个Java对象可以在内部持有若干其他Java对象,并对外提供访问接口,我们把这种Java对象称为集合。 廖雪峰、JavaGuide阅读全文
Java泛型发表于2020-07-14更新于2020-07-15字数统计1.4k阅读时长11分 Free Talk Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 廖雪峰、菜鸟阅读全文