Java中关于变量i的常见问题有哪些总结?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1588个文字,预计阅读时间需要7分钟。
参考内容:深入理解Java虚拟机(JVM)高级特性与最佳实践——周志明老师;尚学堂深入理解JVM教学视频——宋红康老师;在本文展开前,读者需要了解一些字节码相关的知识,以便更好地理解JVM虚拟机。
参考内容:
- 深入理解Java虚拟机(JVM高级特性与最佳实践) ——周志明老师
- 尚硅谷深入理解JVM教学视频——宋红康老师
在本文展开前,读者需要了解一些字节码有关的知识,以及JVM虚拟机栈中栈帧的局部变量表和操作数栈等知识,笔者在这里只给出一些大概的简述。
字节码
- Java字节码对于虚拟机,就好像汇编语言对于计算机,属于基本执行指令。
- 虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。由于Java虚拟机采用面向操作数栈而不是寄存器的结构,所以大多数的指令都不包含操作数,只有一个操作码。
局部变量表
局部变量表:Local Variables,被称之为局部变量数组或本地变量表
定义为一个数字数组,主要用于存储方法参数和定义在方法体内的局部变量,这些数据类型包括各类基本数据类型、对象引用(reference),以及returnAddress类型。
由于局部变量表是建立在线程的栈上,是线程的私有数据,因此不存在数据安全问题。
局部变量表所需的容量大小是在编译期确定下来的,并保存在方法的Code属性的maximum local variables数据项中。
本文共计1588个文字,预计阅读时间需要7分钟。
参考内容:深入理解Java虚拟机(JVM)高级特性与最佳实践——周志明老师;尚学堂深入理解JVM教学视频——宋红康老师;在本文展开前,读者需要了解一些字节码相关的知识,以便更好地理解JVM虚拟机。
参考内容:
- 深入理解Java虚拟机(JVM高级特性与最佳实践) ——周志明老师
- 尚硅谷深入理解JVM教学视频——宋红康老师
在本文展开前,读者需要了解一些字节码有关的知识,以及JVM虚拟机栈中栈帧的局部变量表和操作数栈等知识,笔者在这里只给出一些大概的简述。
字节码
- Java字节码对于虚拟机,就好像汇编语言对于计算机,属于基本执行指令。
- 虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。由于Java虚拟机采用面向操作数栈而不是寄存器的结构,所以大多数的指令都不包含操作数,只有一个操作码。
局部变量表
局部变量表:Local Variables,被称之为局部变量数组或本地变量表
定义为一个数字数组,主要用于存储方法参数和定义在方法体内的局部变量,这些数据类型包括各类基本数据类型、对象引用(reference),以及returnAddress类型。
由于局部变量表是建立在线程的栈上,是线程的私有数据,因此不存在数据安全问题。
局部变量表所需的容量大小是在编译期确定下来的,并保存在方法的Code属性的maximum local variables数据项中。

