无论如何,在移植JVM时,Java虚拟机在体系结构上运行java的目的是什么?

问题描述 投票:-1回答:1

我试图分析移植和虚拟机的性质,目的是最小化移植量。

回顾一下事物的历史,但有一点在我脑海中突出。 Java虚拟机,即SDK / JRE,虽然它能够动态处理java类和/或编译java源代码,但它本质上是中间件,不是吗?我想Oracle上的人员会为不同的操作系统重新编译它,以便Java语言可以用于各自的操作系统。

所以,所有这些都让我想到了上面提到的问题,“为什么在Java本身可以作为另一种语言存在并且移植到不同的架构而不需要移植中间件(即在这种情况下的中间件是JVM)?”

这只是一个假设,但是这是因为JVM被设计为在架构之间具有最小的移植要求,因此在架构之间修改现有的Java需要更少的工作吗?谢谢。

java jvm porting
1个回答
-1
投票

关于何时使用诸如Java虚拟机之类的软件而不是仅在每次需要不同架构时实现语言时,优点和缺点都是优先考虑的。正如上面的评论者提出的那样,将编译器移植到新的架构来编译语言的代码,比方说,没有虚拟机的Java,将包含更多勤劳的任务,而不是移植到一个不会随着时间的推移而变化很大并且处理执行的软件上。对于广泛使用的语言,例如,与我们使用Java的现有语言一样,内存管理。因此,与Java一起提供的虚拟机在这方面是专家,其减少了所需的重构量。

但是,最明显的可能是运行该语言的虚拟机将使用该语言的应用程序使得对虚拟机底层硬件的访问速度变慢,这是由于内部垃圾收集机制和内置内存管理共同导致显着的开销。因此,诸如AAA游戏的高性能应用将被排除和/或严重阻碍。

© www.soinside.com 2019 - 2024. All rights reserved.