Java分布式应用学习笔记02再谈JVM(二)

2014-11-24 01:36:54 · 作者: · 浏览: 1
lang/StringBuilder."":(Ljava/la

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类,一个是客户端类型,属轻量级;一类是服务端类型,属于重量级。