深入理解Java虚拟机——对象创建与访问指令

x33g5p2x  于2022-03-18 转载在 Java  
字(0.6k)|赞(0)|评价(0)|浏览(305)

一、对象创建与访问指令的概述

  • 虽然类实例和数组都是对象,但Java虚拟机对类实例和数组的创建与操作使用了不同的字节码指令。
  • 对象创建后,就可以通过对象访问指令获取对象实例或者数组实例中的字段或者数组元素。

二、对象创建与访问指令

描述指令
创建类的实例new
访问类字段(static字段或者称为类变量)和实例字段(非static字段或者实例变量)getfield、putfield、getstatic、putstatic
把一个数组元素加载到操作数栈baload、caload、saload、iaload、laload、faload、daload、aaload
将一个操作数栈的值存储到数组元素中bastore、castore、sastore、iastore、fastore、daload、aaload
取数组长度的指令arraylength
检查类实例类型的指令instanceof、checkcast

三、对象创建与访问指令的示例

  • 代码
public class Test1{
	public static void main(String []args){
		User user=new User();
		user.name="xz";
		String name=user.name;
	}
	
}

class User{
	String name;
	static int age;
}
  • 执行javac命令编译成.class文件

  • 执行javap命令查看字节码指令

相关文章

微信公众号

最新文章

更多