首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Android使用Java?

为什么Android使用Java?
EN

Stack Overflow用户
提问于 2010-08-25 04:56:17
回答 9查看 100.2K关注 0票数 118

好吧,这真的应该问谷歌的人,但我只是想要其他的意见。

尽管Android支持原生代码应用程序,但主要的开发工具仍然是Java。但是为什么呢?我的意思是,在移动设备上解释代码是不是太慢了?在介绍Froyo时,谷歌表示,新的JIT编译器可以实现2-5倍的应用程序速度。这意味着,在原生代码上使用Java的速度要慢2-x倍。

是的,我知道使用托管代码应用程序在系统稳定性方面更安全,因为虚拟机可以更好地控制程序执行,但尽管如此,这种性能下降仍然很大,我看不出为什么要使用它。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2010-08-25 05:05:22

以下是一些要点:

  1. Java是一种众所周知的语言,开发人员知道它,不必学习它
  2. 使用Java比使用C/C++代码更难,因为它没有指针算法
  3. 它在VM中运行,所以不需要为每一部电话重新编译它,并且很容易保护大量的
  4. Java开发工具(参见点1)

< code >H19几个已经使用Java的手机,所以Java在行业中是众所周知的

  1. 对于大多数应用程序来说,速度差异不是问题;如果是,您应该使用低级语言
票数 102
EN

Stack Overflow用户

发布于 2010-08-25 05:01:23

在字节码级别,Android不使用Java。源代码是Java,但它不使用JVM。

票数 41
EN

Stack Overflow用户

发布于 2010-08-25 05:02:52

对于像手机这样的设备来说,提高系统稳定性是非常重要的。

安全性更重要。Android环境允许用户运行不完全受信任的应用程序,这些应用程序可能会在没有出色安全性的情况下以令人不快的方式利用手机。通过在虚拟机中运行所有应用程序,您可以保证除非VM实现中存在缺陷,否则任何应用程序都不能利用操作系统内核。反过来,VM实现可能很小,并且有一个小的、定义良好的安全表面。

也许最重要的是,当程序被编译成虚拟机的代码时,它们不必为新的硬件重新编译。手机芯片市场多种多样,瞬息万变,所以这是一件大事。

此外,使用Java使得人们编写的应用程序不太可能被自己利用。没有缓冲区溢出,指针错误,等等。

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3560963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档