虚拟机应该在软件发布时完成作用

类似java通过虚拟机编译代码的语言,应该实现在发布时就转化成本地机器代码,这样就可以实现两种好处:1,用户端不需要安装虚拟机运行环境;2,保持本地代码的高效运行能力。虚拟机在软件运行时仍然需要运作的唯一理由是保证与不同机器之间的兼容性,这并不是一个好理由,更好的选择应该是确定性,从现在的问题来看,是提早代码的确定性,不是在运行时确定,而是在发布时确定。类似c++从来不需要任何中间编译的机制来保证自己的运行无误,andorid的软件就更有理由实现这一点。因此,虚拟机不应该运行在软件运行的时候,甚至连安装的时候都不必,而是只应该在软件发布时起作用。

据了解,android 5.0以上版本的系统使用新的虚拟机机制,通过在安装时转化成机器代码来实现运行时的高效。这是一种基于现状的优化选择,相比发布时确定代码,这种方式还能提供不同机器系统的兼容性。但是,因为android本身就自带虚拟机,所以没什么问题,而台式计算机系统如果要去安装一个额外的软件才能保证目标软件的安装,这仍然是一个需要解决的麻烦。从这里可以看出来,保证不同机器之间的兼容性的任务应该由操作系统来完成。

posted @ 2016-11-14 07:04  三叶之二  阅读(214)  评论(0编辑  收藏  举报