java虚拟机学习随笔

来源:互联网 发布:ubuntu显示桌面图标 编辑:程序博客网 时间:2024/05/16 17:57

1、Java虚拟机支持下,对int类型的数据的大部分操作可以直接进行。对其余的数据类型的直接操作的支持较少。byte  char  short类型的变量转为int类型后再进行操作。long float  double 提供了中等程度的支持。

2、按照约定,实例方法需要传递一个自身实例的引用作为第0个局部变量。在java中,可通过this访问。static方法不需要传递实例引用。如下:

int addTwo(int i, int j) {
return i + j;
}


编译后代码如下:
Method int addTwo(int,int)
0 iload_1 // Push value of local variable 1 (i)
1 iload_2 // Push value of local variable 2 (j)
2 iadd // Add; leave int result on operand stack
3 ireturn // Return int result


----------------------------------


static int addTwoStatic(int i, int j) {
return i + j;
}


编译后代码如下:
Method int addTwoStatic(int,int)
0 iload_0
1 iload_1
2 iadd
3 ireturn


两段代码唯一的区别是,后者方法保存参数到局部变量表时,是从编号为 0 的局部变量开始而不是 1


3、退出try的方式有四种:

     1.语句块所有正常执行结束;2.通过return语句退出方法;3.通过break或continue语句退出循环;4.抛出异常

0 0
原创粉丝点击