Java
文章平均质量分 55
天宇365
沉淀~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
简述虚拟机字节码执行-分派规则
静态类型多分派:典型-方法重载 编译时,编译器会根据类型和方法参数来分派,属于多分派类型 动态类型单分派:典型-方法重写 运行阶段虚拟机的选择,即动态分派的过程:运行时,方法参数已经由编译时确定为特定类型,不会影响其选择,唯一影响虚拟机选择的因素只有该方法的实际接收者,具体是哪个类。 只有一个宗量作为选择依据。属于单分派类型 运行示例: 总结如下: ...原创 2021-02-24 15:18:30 · 186 阅读 · 0 评论 -
深入理解Java虚拟机--浅析class文件字节码【JVM虚拟机(二)】
代码示例如下: package com.demo; public class Test { int add() { int a = 3; int b = 8; return a + b; } } javap查看编译机制 解析指令集: int add(); Code: 0: iconst_3 压入常量3到操作数栈顶 1: istore_1 将栈顶int型数值...原创 2021-02-22 19:43:04 · 143 阅读 · 0 评论 -
深入理解Java虚拟机--虚拟机字节码指令表
《深入理解Java虚拟机JVM高级特性与最佳实践》附录B 虚拟机字节码指令表 字节码 助记符 指令含义 0x00 nop 什么都不做 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst_0 将int型0推送至栈顶 0x04 iconst_1 将int型1推送至栈顶 0x05 iconst_2 将int型2推送至栈顶转载 2021-02-22 17:59:44 · 175 阅读 · 0 评论 -
什么是语法糖?
之所以叫「语法」糖,不只是因为加糖后的代码功能与加糖前保持一致,更重要的是,糖在不改变其所在位置的语法结构的前提下,实现了运行时等价。可以简单理解为,加糖后的代码编译后跟加糖前一毛一样。 之所以叫语法「糖」,是因为加糖后的代码写起来很爽,包括但不限于:代码更简洁流畅,代码更语义自然... 写得爽,看着爽,就像吃了糖。效率高,错误少,老公回家早... PS: 据说还有一种叫做「语法盐」的东西,主要目的是通过反人类的语法,让你更痛苦的写代码。其实它同样能达到避免代码书写错误的效果,但编程效率应该是降低了,毕转载 2021-02-20 18:03:06 · 2629 阅读 · 1 评论 -
<init>构造器和<cinit>以及构造方法的关系
1、 首先我们先来找到init和cinit方法。 java源文件 package com.demo; public class Test { private static int a = 1; protected void testMethod() { } public static void main(String[] args){ System.out.println(a); } } 使用javap -verbose class.原创 2021-02-19 11:55:21 · 2482 阅读 · 0 评论
分享