Jvm(6),java中的解释运行和编译运行(未完)

 

编译执行就像你买的《C Primer》中文版,译者全部翻译完(编写代码),拿到出版社去(编译器),编辑们校对没有发现错别字(编译),然后出版给你看,只要出版社(编译器)工作正常,那么就可以认为书的内容肯定没有错(可以正确执行);

解释执行就像你去听报告,老外一边讲(代码),同声传译(解释器)一边翻给你听(解释执行),如果哪一句老外讲错了(代码出错),同声传译才卡壳,但是前面已经翻译出去的,肯定是没啥问题(部分正常执行了);

这么说你理解了没有?编译执行效率高,但灵活性差(任何修改都要重编译),代码保密性好;解释执行效率低一点(这是以前的说法,现代解释器的效率也可以非常高),灵活性好,代码保密性差;

还有一种介于两者之间的执行方式,半编译执行,像大名鼎鼎的Java和C#等等,就是这种方式,是实现跨平台的优良解决方案。

 

自己的理解,

解释执行:就是读一句执行一句,就类似于我们在cmd中输入一行指令之后,计算机会根据你这个指令去执行一系列的一些代码一样。有点类似于翻译,比如和外国人对话,假如有一个翻译的话,那么你说一句,翻译翻译一句,这个就叫做解释执行。

 

编译执行就是我把代码写出来之后整体编译,然后可能有上万条代码,甚至几十万行代码同时去执行一样,这个就有点类似于一本英文书籍,有一个翻译成中文的译书者,他把书整体翻译之后才去拿到出版社出版一样。

猜你喜欢

转载自www.cnblogs.com/qingruihappy/p/9691095.html
今日推荐