如果设备已在运行Java虚拟机,为什么Android操作系统会出现问题?

时间:2013-12-01 08:55:52

标签: java android jvm dalvik

  1. Android操作系统是用Java编写的吗?

  2. 用Java编写的任何内容都必须在Java虚拟机中运行,因此如果Android是用Java编写的,那么它本身必须在某种JVM中运行,它也是如此?

  3. 根据this question的答案,JVM不需要它自己的操作系统,那么为什么Android存在,为什么Dalvik或其他JVM不运行应用本身呢?

3 个答案:

答案 0 :(得分:5)

这基本上由Android Wikipedia page涵盖。

  1. Android是分层编写的。主要的“操作系统”层基于Linux内核,主要用C语言编写。我们认为“Android操作系统”的某些部分(内置应用程序,一些用户界面)也是用Java编写的。

  2. Java部件在非常类似 JVM上运行:Dalvik

  3. 因为构成Android的大部分软件都不是用Java编写的。大多数Android 应用程序都是用Java编写的(尽管Ted Hopp指出,the don't have to be)。 用Java编写的任何东西(Android的Java部分和Java应用程序)都在Dalvik中运行。

答案 1 :(得分:0)

  1. 根据维基百科,Android的核心是用C语言编写的,UI是用Java编写的,部分用C ++编写。这是因为Android是Linux,用C语言编写。

  2. Android的Java部分确实在JVM中运行。

  3. Android存在是因为Google的程序员创建了它。 Dalvik 运行应用程序。

  4. 有关更多信息,请参阅Wikipedia关于Android和Dalvik的文章。

答案 2 :(得分:0)

  

1)Android操作系统是用Java编写的吗?

没有

  

2)用Java编写的任何内容都必须在Java虚拟机中运行,因此如果Android是用Java编写的,那么它本身必须在某种JVM中运行,所以它是什么?

因为它不是用Java编写的,所以问题的前提是错误的。

  

3)根据这个问题的答案,JVM不需要操作系统

这个问题的答案并没有说出任何这样的事情。

  

那么为什么Android存在,为什么Dalvik或其他JVM只运行应用本身呢?

Android是一个操作系统。 Dalvik是一个JVM。