首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

解释器跟编译器区别(一)

2012-09-21 
解释器和编译器区别(一)最近在看《JAVA虚拟机》这本书作者写得不错,特别是由国人原创的。根据书中,写出部分自

解释器和编译器区别(一)

最近在看《JAVA虚拟机》这本书作者写得不错,特别是由国人原创的。

根据书中,写出部分自己的理解(部分可能与作者的意识不一致)

?

关于对于不同的虚拟机,基本都具有解释器和编译器

?

编译器:

对于语句进行编译,使之成为本地机器码,因此运行速度将相当快,但是启动也会非常慢。

?

解释器:

只在执行时,在进行编程为本地机器码,所以运行速度慢,但是因不用进行编译成机器码,所以启动快。

?

对此,不同的虚拟机,也将采取分步的优化,当然也有对应防偏激进化的逃生门。

进行优化的是以作为热点的代码段,进行编译为本机机器码,而判断是否热点,

有两分法:

1、周期性检测堆栈中的对象,属于抽样分法,实现简单,但是很难获取真正的热点程序段。

2、为每个方法或者程序段建立计数器,实现麻烦,且需要消耗部分内存,但是数值准确。

而计数器需要有阙值来进行判断是否已经为热点。

判断分法:

1、方法调用计数器

2、回边计数器

?

?

以后会继续写出后续篇。谢谢~

希望更多人把时间花在生活、陪家人和女朋友身上,而不是敲代码上。

?

热点排行