码迷,mamicode.com
首页 > 其他好文 > 详细

Jvm(46),指令集----对象创建与访问指令

时间:2018-09-22 23:15:36      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:ast   个数   img   通过   static   长度   不同   tor   图片   

虽然类实例和数组都是对象,但Java虚拟机对类实例和数组的创建与操作使用了不同的字节码指令(在第7章会讲到数组和普通类的类型创建过程是不同的)。对象创建后,就可以通过对象访问指令获取对象实例或者数组实例中的字段或者数组元素,这些指令如下。创建类实例的指令:new。

创建数组的指令:newarray、anewarray、multianewarray。

访问类字段(static字段,或者称为类变量)和实例字段(非static字段,或者称为实例变量)的指令:getfield、putfield、getstatic、putstatic。

把一个数组元素加载到操作数栈的指令:baload、caload、saload、iaload、laload、 faload、daload、aaload。

将一个操作数栈的值存储到数组元素中的指令:bastore、castore、sastore、iastore、 fastore、dastore、aastore。

取数组长度的指令:arraylength。检查类实例类型的指令:instanceof、checkcast。

public class Demo5 {

    public static void main(String[] args) {

         User user = new User();

    }

}

class User {

    String name;

    static int age;

}

技术分享图片

public class Demo5 {

    public static void main(String[] args) {

         User user = new User();

         User[] us=new User[10];          int[] bb=new int[10];

         user.name="woshishui";

         String name=user.name;

    }

}

class User {

    String name;

    static int age;

}

 

技术分享图片

Jvm(46),指令集----对象创建与访问指令

标签:ast   个数   img   通过   static   长度   不同   tor   图片   

原文地址:https://www.cnblogs.com/qingruihappy/p/9691450.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!