【问题标题】:System level changes for JVMJVM 的系统级别更改
【发布时间】:2009-09-03 11:40:06
【问题描述】:

如果我想为 Windows 和 Linux 开发类似 JVM(Java 虚拟机)的工具/应用程序,必须进行哪些架构/系统级别的更改?

基本上,JVM wrt Windows 和 Linux 的架构差异是什么?

谢谢,

纳温

【问题讨论】:

  • 什么是“系统级别更改”?您想对哪段代码进行这样的更改?请定义“嵌入”。由于确实存在用于 Windows 和 Linux 的 JVM,我想说您根本不需要更改这两个就可以为它们编写 JVM。
  • @Sauer,是的,你是对的,JVM 存在于 Windows 和 Linux 上。我的问题是 SUN 已经在 J​​VM 中进行了哪些更改以将其移植到 Windows 以及 Linux OS 上。我的意思是,JVM wrt Windows 和 Linux 的架构差异是什么?

标签: java operating-system


【解决方案1】:

我认为最好的答案是把你指向source code并邀请你看一看。

“架构差异” - 可能没有。两个 VM 的架构可能是相同的。不同的是所述架构的实现。区别在于: 任何命中本机操作系统调用的东西。脑海中浮现的两个例子是:线程和 UI。

【讨论】:

    【解决方案2】:

    这里很好地概述了 JVM 所涉及的内容:

    http://www.artima.com/insidejvm/ed2/jvm.html

    我猜想实现 JVM 的首选语言是 C++,它具有内存管理、线程管理、io 等低级别的东西,它将与特定操作系统提供的 API 进行交互。可以想象,字节码解释等更高级别的功能可能在平台之间很常见。

    就实现类似于 JVM 的东西而言,您的问题(以及任务的难度)的答案将取决于您需要的功能集。但请记住,VM(Java 和其他)在一定程度上是操作系统的抽象,通常反映操作系统提供的功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-25
      相关资源
      最近更新 更多