java7(1)——反编译深入理解增强的switch(读字节命令实战)
2014-08-01 23:14
387 查看
【本文介绍】
本文主要讲java_7 的改进switch的底层实现。反编译一个使用带String的switch的demo并一步步解析反编译出来的字节命令,从编译的角度解读switch的底层实现。
【正文】
在java7中,switch()可以放进去String 类型了,这无非是一大便利。底层JVM的swtich并没有真正的改进,只是在编译阶段,编译器把关于String的switch拆分成if语句而已。
我们写一个简单的例子测试一下:
(1)Test类:switch()使用String
View Code
本文主要讲java_7 的改进switch的底层实现。反编译一个使用带String的switch的demo并一步步解析反编译出来的字节命令,从编译的角度解读switch的底层实现。
【正文】
在java7中,switch()可以放进去String 类型了,这无非是一大便利。底层JVM的swtich并没有真正的改进,只是在编译阶段,编译器把关于String的switch拆分成if语句而已。
我们写一个简单的例子测试一下:
(1)Test类:switch()使用String
public class test { public void test(String str) { int i = -1; switch(str.hashCode()){ case 97: if(str.equals("a")){ i = 0; } break; case 98: if(str.equals("b")){ break; } } switch(i) { case 0: System.out.println("a"); break; case 1: System.out.println("b"); break; default: System.out.println("default"); } } }
View Code
相关文章推荐
- 更深入一点理解 switch 语句 及 c/c++ 对 const 的处理
- 深入理解make命令和makefile文件
- 更深入一点理解switch语句及c/c++对const的处理
- 深入理解计算机系统-课后习题-2.13-bis和bic命令实现或和异或运算
- 使用git微命令深入理解git工作机制
- 应用反编译命令JavaP理解String和StringBuffer的区别
- 笔记:深入理解JVM 第5章 调优案例分析与实战
- 深入理解Redis:命令处理流程
- 更深入一点理解switch语句及c/c++对const的处理
- 顶级c程序员之路 选学篇-1 深入理解字节,字节序与字节对齐
- 深入理解grep和find命令
- 深入理解字节对齐
- 深入理解JavaScript系列(34):设计模式之命令模式
- 更深入一点理解switch语句及c/c++对const的处理
- as汇编命令(来自 深入理解Linux内核)
- 深入理解C语言字节对齐
- 深入理解JavaScript系列(34):设计模式之命令模式
- 深入理解JavaScript系列(34):设计模式之命令模式
- 深入理解JavaScript系列(34):设计模式之命令模式
- 集合和反编译间的深入理解和认识