public class Test { public void set(int i) { try { InputStream inputStream = new FileInputStream("abnc.txt"); ServerSocket socketAddress = new ServerSocket(9999); socketAddress.accept(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { } } }
1 set方法在字节码层面默认会有两个参数,第一个参数是this这样能够保证我们调用实例对象的方法时候正常调用(可以理解成和一些解释类型的语言类似,只不过java在底层生成字节码隐式加上了this,对我们透明的)。
2 在set方法字节码显示局部变量有4个,this是一个,inputStream ,socketAddress ,还有另一个就是一旦出现异常时的变量e。
3 try cache在编译成字节码后,会将每条语句转换成jvm,16进制指令执行,针对指令解析后我们可以标记为注记符。
原文:https://www.cnblogs.com/zzq-include/p/13149588.html