自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 字节码指令

字节码指令由操作码和操作数组成:

2024-04-10 11:16:34 77 1

原创 栈帧需要理解的——3分钟即可

同时,需要注意,对这个方法的引用,即this,会占一个容量。不同类型,如double和int,所占容量不同。每一个方法从调用开始到执行完成,都对应着一个栈帧在虚拟机栈/本地方法栈里从入栈到出栈的过程。操作数栈(Operand Stack):方法内部,调用其他方法时,可能会用到参数,而这些参数,就会被压入操作数栈,然后才能执行相应的方法操作。方法返回地址(Return Address):存放调用该方法的PC计数器的值,恢复最初调用的位置。指令,他会精确的找实际上要用的方法,而非他父类的方法,这就是动态链接。

2024-04-10 11:15:18 187

原创 栈虚拟机运行随笔

栈帧本身也是一种栈结构,用于支持虚拟机进行方法调用和方法执行,遵循 LIFO 的原则,每个栈帧都包含了一个方法的运行信息,每个方法从调用到执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈和出栈的过程。main 方法被执行的时候,JVM 会创建一个栈帧(Stack Frame),通过存储局部变量表、操作数栈、动态链接、方法出口等信息来支撑和完成方法的执行,栈帧就是虚拟机栈中的子单位。操作数栈的内容是临时的,它的生命周期和方法的生命周期是一样的,当方法执行结束后,操作数栈也会被销毁。

2024-04-09 22:19:03 206

原创 Java类文件结构,class文件和字节码——1分钟即可

常量池:常量池分为字面量(如各种基本类型数据),符号引用(对类、接口、字段、方法等的引用,它们不是由字面量值给出的,而是通过符号名称(如类名、方法名)和其他额外信息(如类型、签名)来表示),符号引用在加载中被虚拟机解析为具体地址,然后引用。Java类文件有魔数,版本号,常量池,访问标记,类索引,父类索引,接口,字段表,方法表,属性表。

2024-04-09 21:40:22 157

原创 iterable和iterator需要理解的---1分钟即可

ArrayList 或者 LinkedList有iterable接口,这个接口实现了iterator接口,而iterator方法有hasNext、next、remove 等方法。即List 的关系图谱中并没有直接使用 Iterator,而是使用 Iterable 做了过渡。Map 没办法直接使用 for-each,因为 Map 没有实现 Iterable 接口,只有通过。这种返回一个 Collection 的方式才能 使用 for-each。

2024-04-07 22:35:06 162

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除