Re: [问题] JIT 问题

楼主: gn00618777 (非常念旧)   2014-08-11 22:34:24
※ 引述《gn00618777 (非常念旧)》之铭言:
: 我查询了网络上以及书本
: 版本1: JIT是将source code 转换成 byte code之后,在程式执行期间
: 再将byte code编译成机械码。
: 版本2: 拥有JIT表示Dalvik将APP的byte code转换成二进制组合指令,那将
: 以原生方式执行在目标的CPU上,而不是由VM一次解译一条指令。
: 这两者,哪种比较对阿.....版本1说得好像就是执行期间,需要才编译成机械码。
: 这和版本2是直接说"不是由VM一次解译一条指令"好像有点抵触,希望能为我解惑,
: 谢谢。版本2出自于O'REILY翻译的书,我个人觉得翻译的好烂,前因后果要自己兜起来。
我还是不太懂版本二..
"不是由VM一次解译一条指令",意思是说不是在执行中需要才编译?
是说JIT已经在执行前将APP byte code编译成机械码了吗?这样在执行前
是不是不用占用CPU来编译比较省电?
这是我的理解,希望有神人为我补充...谢谢。
作者: typepeter (∵Peter∴笑点)   2014-08-12 00:15:00
若是指libART,是真的变成接近全机器码(JIT的结果Dump)若是指单纯Dalvik的DEX格式,则只是变形版的Bytecode事实上也不必这么执著于这点细节 实际用到再研究吧...

Links booklink

Contact Us: admin [ a t ] ucptt.com