官方文档只是说
14.6.空陈述
空语句什么都不做.
(https://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.6)
是否;;;;;;;;;;;真的由Java编译器编译的语句?如果是这样,这些陈述是否需要时间来执行,如nop?简而言之:一个空洞的陈述真的"无所谓"吗?
java编译器对这些语句不做任何事情.因此,他们被忽略了.以下方法
public static void test(){
;;;;;;;;
}
Run Code Online (Sandbox Code Playgroud)
只需编译到以下字节码:
public static void test();
descriptor: ()V
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: return
LineNumberTable:
line 39: 0
Run Code Online (Sandbox Code Playgroud)
编译器只在某些编译策略中使用NOP.
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |