今天如何使用JVM? [关闭]


0

我们今天没有足够数量的编译器(适用于各种平台)?例如Python - 它被认为是一个跨平台语言。


1
相反,有很多用Java编写的系统管理和网络监视工具,而不依赖于任何特定的体系结构。 ManageEngine OpManager,命名我使用的一个。还有像Eclipse这样的开发环境,以及像OpenOffice这样的整个套件。
boot13

例如,为什么Eclipse是为虚拟机编写的,为什么不使用通常的编译语言? Eclipse只需要在PC上。
R S

万一你不知道,@ boot13,也有 在JVM上运行的其他编程语言 。 (我不认为OpenOffice在JVM上运行,尽管早期版本确实使用Java来编写脚本等等。)
Arjan

为什么你认为使用Linux或Mac OS X的人不使用Eclipse? (顺便说一句,这个问题不在这里。)
Arjan

1
你知道创建编译器实际上有多少工作吗?
a CVn

Answers:


0

很多 这样的代码。每天你都会使用几十个需要它的网站。虽然现在它们大多是用JavaScript编写的,有时候是Flash的ActionScript,但总体思路仍然相同。

(请记住,Java的一个主要用途是用于网站中的applet - 类似于Flash以及今天的JavaScript。)

还有比“PC和移动”更多的架构。在过去二十年中,PC使用了几十种不同的CPU架构 - 例如: 68000 PowerPC的 ,x86,amd64,Alpha, SPARC ,ARM64 - 就是这样 流行 那些。

这就产生了问题 分布 编译的程序。

使用本机代码, 一切 这样的网站所有者将不得不分发同一程序的许多不同版本 - 一个用于每个CPU架构(记住,它不仅仅是两个),或者甚至可能用于每个OS×CPU组合(因为不同的操作系统具有不同的服务,不同的API,同一CPU上的不同调用约定)。

(即使在相同的架构中,许多为英特尔i686编译的程序也不会在i486上运行,即使它在技术上是相同的x86 - 但具有不同的功能。例如,Debian Linux为i486编译所有内容,因此它不会使用任何现代的CPU功能都意味着程序可能会慢一点。另一方面,Arch Linux是针对i686编译的,因此它不会在旧的i486 CPU上运行。)

使用字节码,Sun / Oracle可以为所有体系结构分发JVM,而网站管理员不需要做任何其他事情 - 他们只需要 每个人的.jar文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.