ng/String;)V
20: aload_1
21:invokevirtual #42; //Method java/lang/StringBuilder.append:(Ljava/lang
/String;)Ljava/lang/StringBuilder;
24:invokevirtual #46; //Method java/lang/StringBuilder.toString:()Ljava/l
ang/String;
27:invokevirtual #50;//Method java/io/PrintStream.println:(Ljava/lang/St
ring;)V
30: return
}
估计大家都看烦了,习惯了面向对象思维的大家一看这种汇编似的语言确实头疼,耐不下心。如果不是搞JVM开发的,其实了解一下就可以,毕竟了解一下JVM运行原理,对于我们写代码,无异于又过了一层思考。
解释执行比较慢,但是呢,比较省资源,省内存,因为采用栈这种数据结构进行指令的收编和采集,运用,空间利用率可见是比较节俭的。
2):编译执行:
为了提升性能,JDK还可以编译执行,也叫做即时编译器,通常是对执行频率比较高的代码进行及时编译执行。编译执行牺牲了部分空间资源,换来的是优化了字节码的编译实际代码块,就是说我们编写的代码在JVM编译器看来是可优化的,所以它采用优化编译,将原先的代码进行一些调整,进而更好地利用JVM资源。编译执行那个主要分为2类,一个是客户端类型,属轻量级;一类是服务端类型,属于重量级。