栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Dalvik VM(Android的VM)上不能在Sun VM中做什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Dalvik VM(Android的VM)上不能在Sun VM中做什么?

Dalvik在许多方面将无法处理或将不会以与标准Java字节码完全相同的方式来处理它们,尽管其中大多数都是相当先进的。

最严重的例子是运行时字节码生成
和自定义类加载。假设您想创建一些字节码,然后使用类加载器为您加载它,如果该技巧在您的普通计算机上有效,那么除非您更改字节码生成,否则保证在Dalvik上不起作用。

这会阻止您使用某些依赖项注入框架,最著名的示例是Google
Guice(尽管我敢肯定有人对此进行了工作)。另一方面,AspectJ应该工作,因为它使用字节码检测作为编译步骤(尽管有人尝试过,我也不知道)。

至于其他jvm语言,最终可以编译为标准字节码并且在运行时不使用字节码检测的任何内容都可以转换为Dalvik,并且可以正常工作。我知道人们确实在Android上运行Jython,而且效果还不错。

要注意的另一件事是 没有及时的编译
。这并不是严格意义上的Dalviks问题(如果愿意,您随时可以随时编译任何字节码),但是Android不支持并且不太可能这样做。结果是,尽管标准Java的微基准测试没有用-
组件在测试中的运行时特性不同于大型系统的组成部分-Android手机的微基准完全有意义。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391266.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号