i++ (二)
2016-03-10 16:05
369 查看
public class T{ /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int s = 0; //String a = s.concat("a"); s++; System.out.println(s); } }
public static void main(java.lang.String[]); Code: Stack=2, Locals=2, Args_size=1 0: iconst_0 1: istore_1 2: iinc 1, 1 5: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 8: iload_1 9: invokevirtual #3; //Method java/io/PrintStream.println:(I)V 12: return }
这里,我从第0行开始分析(分析中【】表示栈,栈的底端在左边,顶端在右边): 0:将常数0压入栈,栈内容:【0】 1:将栈顶的元素弹出,也就是0,保存到局部变量区索引为为1(也就是变量i)的地方。栈内容:【】 2:将局部变量区索引为1(也就是常量i)的值加一,此时局部变量区索引为1的值(也就是i的值)是1。栈内容:【0】 5:获取常量池中索引为2所表示的类变量,也就是System.out。栈元素:【】 8:将局部变量区索引为1的值(也就是i)压入栈。栈元素:【0】 9:调用常量池索引为3的方法,也就是System.out.println 12:返回main方法
相关文章推荐
- Redis 到底有多快[译文]
- ActiveMQ内存设置和流控
- xStream
- Java异步HTTP请求
- selenium webdriver 以署理proxy方式启动firefox,ie,chrome
- 方法重载
- Akka 和 Storm 的设计差异
- Elasticsearch的路由(Routing)特性
- BroadcastShardOperationFailedException TooManyClauses[maxClauseCount is set to
- 根据PV计算带宽及根据PV算并发
- 文件系统管理
- Elasticsearch与Solr 选型
- Java GUI图形界面开发工具
- maven wagon ftp ssh
- 日期转换帮助类
- iqq
- 开放实时数据处理平台 Twitter Storm(转)
- UsernamePasswordAuthenticationFilter
- Elasticsearch开启groovy动态语言支持
- Spring , duboo 注意事项