J2SE常见问题分析
来源:互联网 发布:软件开发保密协议书 编辑:程序博客网 时间:2024/06/06 00:20
发现下面代码输出还是i=0,觉得很奇怪。于是利用"javap -c -l -v Foo"分析"i=i++", "i=++i"和"i++", "i+=1"。
"i=i++"的输出:估计在缓冲中有一份copy,istore时又写回i变量中。
int i = 0;i = i++; //output i=0
0: iconst_0
1: istore_1
2: iload_1
3: iinc 1, 1
6: istore_1
"i=++i"的输出:
int i = 0;i = ++i; //output i=1
0: iconst_0
1: istore_1
2: iinc 1, 1
5: iload_1
6: istore_1
"i++"和"i+=1"编译后代码是一样的。
int i = 0;i++; 或 i += 1; //output i=1
0: iconst_0
1: istore_1
2: iinc 1, 1
int k=3;if (k--==3 && k++==3) //false, 但(k--==3 && k++==2)为true
0: iconst_3
1: istore_1
2: iload_1
3: iinc 1, -1
6: iconst_3
7: if_icmpne 26
10: iload_1
11: iinc 1, 1
14: iconst_3
15: if_icmpne 26
int k=3;if (k++==3 || ++k==5) System.out.println(k); //结果k=4,因为++k==5未被执行
0 0
- J2SE常见问题分析
- j2se常见问题解答
- 【J2SE】内存分析
- 【J2SE】内存分析
- 内存分析(J2SE专题三)
- J2SE
- J2SE
- J2SE?
- J2SE
- J2SE
- J2SE
- 【J2SE】分析程序的内存分配过程
- RFID项目常见问题分析
- 单元测试常见问题分析
- struts常见问题分析
- C++常见问题分析
- VS2005 常见问题分析
- photoshop 常见问题与分析
- prim算法
- 蓝桥杯--最短路
- HDU 1754 I Hate It 线段树单点更新
- 发布3633快速接单软件V1.0
- Web 2.0
- J2SE常见问题分析
- Java正则表达式入门
- USACO5.3.4 Big Barn(bigbrn)
- unbuntu 14.04下NDK环境的搭建以及无法设置NDK路径的解决方案
- Android调用webService报错原因分析
- 故事板(storyboard)
- Java 面试题集
- Factorial Trailing Zeroes Produced By Java
- python 作为windows服务启动以及windows服务前台显示