陆续会用这个帖子记下一些没有什么技术含量的NOTES,希望大牛们别见笑:
1.关于i=i++和i=++i;
sourceCode:
public class TestIplusPlus{
public static void main(String[] args){
int i = 0;
i=i++;
}
}
byteCode:
public static void main(java.lang.String[]);
Code:
Stack=1, Locals=2, Args_size=1
0: iconst_0
1: istore_1
2: iload_1
3: iinc 1, 1
6: istore_1
7: return
LineNumberTable:
line 3: 0
line 4: 2
line 5: 7
}
sourceCode:
public class TestIplusPlus{
public static void main(String[] args){
int i = 0;
i=++i;
}
}
byteCode:
public static void main(java.lang.String[]);
Code:
Stack=1, Locals=2, Args_size=1
0: iconst_0
1: istore_1
2: iinc 1, 1
5: iload_1
6: istore_1
7: return
LineNumberTable:
line 3: 0
line 4: 2
line 5: 7
}
jvm里面有两个存储区,一个是暂存区(是一个堆栈,以下称为堆栈),另一个是变量区。
语句istore_1是将堆栈中的值弹出存入相应的变量区(赋值);语句iload_1是将变量区中的值暂存如堆栈中。
因为i = i++;是先将i的值(0)存入堆栈,然后对变量区中的i自加1,这时i的值的确是1,但是随后的istore_1又将堆栈的值(0)弹出赋给变量区的i,所以最后i = 0。
又因为i = ++i;是先对变量区中的i自加1,然后再将变量区中i的值(1)存入堆栈,虽然最后执行了istore_1,但也只是将堆栈中的值(1)弹出赋给变量区的i,所以i = ++i;的结果是i = 1。
分享到:
相关推荐
完整的学习JAVA的随笔
java记录随笔
java随笔,是在培训机构学到的笔记,望大家看过后,有所收获
主要讲Java debug的概述,调试,以及使用
之前上传了JAVA笔记1 那么这次是JAVA笔记2 衔接上一次的
java课堂随笔,我这还有很多,有需要的话可以联系我,我会为大家提供很多的资料
主要讲述Java数组的元素访问,数组的遍历,获取最值方法,数组元素的求和,查找,后面也给大家列举了一个案例:评委打分(用Java实现)
【Java - 框架 - Knife4j】随笔
主要讲述Java方法的定义和调用,以及带参数方法的定义和调用,方法的重载,方法的参数传递
主要简述Java中不同进制的写法,以及快速进制转换法,包括原码补码反码的讲解,还包括Java中的位运算,最后,给大家了一个Java案例:反转
【Java-框架-SpringSecurity】单点登录(认证和授权)- 随笔
这是我手写的集合类的xmind思维导图,查看请确保自己本地有安装Xmind,因为无法在博客内上传,只能后台上传.请结合我发布的文章(java随笔(集合(一)))查看.
简要概述idea的下载与安装,idea的快捷键,idea的项目创建等等
整个系统实现了我的相册,包括的功能模块有文件上传模块,数据统计发送模块,免费资源下载模块,随笔流量统计模块,网址大全部分。进入这个网站,我们可以自由的发送数据统计,随心所欲的到流量统计进行交流灌水,还...
作者是享誉国内外的Java高手,除了技术相关的文章之外,他也没有僭越自己的专业,随笔中所提及的都是软件产业里的甘苦点滴。不眠之夜,一本蔡学镛的《Java夜未眠》恰能适应你的心情,就像一杯清香醇厚的咖啡,让孤独...
作者是享誉国内外的Java高手,除了技术相关的文章之外,他也没有僭越自己的专业,随笔中所提及的都是软件产业里的甘苦点滴。不眠之夜,一本蔡学镛的《Java夜未眠》恰能适应你的心情,就像一杯清香醇厚的咖啡,让孤独...
Java基于SWT开发桌面应用程序记事本,与桌面记事本一模一样,可实现基础的所有功能,内附源码,可执行文件,以及开发随笔手册,资源纯手工制作出来的。希望对大家有所帮助
简单记录了基于Ubuntu系统中搭建jdk1.8、mysql5.7、Tomcat9环境的方式,同时记录了修改数据库用户密码的过程
作者是享誉国内外的Java高手,除了技术相关的文章之外,他也没有僭越自己的专业,随笔中所提及的都是软件产业里的甘苦点滴。不眠之夜,一本蔡学镛的《Java夜未眠》恰能适应你的心情,就像一杯清香醇厚的咖啡,让孤独...
Java代码调用HTML5中的JS函数算法,这样就可以轻松解密..