如何创建自定义 JVM? [关闭]

2023-12-27

我正在阅读第 #6.10 条http://www.cafeaulait.org/javafaq.html http://www.cafeaulait.org/javafaq.html我开始想知道大公司如何创建他们自己的 JVM 实现。对于一个人来说,实验性的东西是否可能(并且可行)?


从技术上讲,人们创建新 JVM 所需的所有信息都在该语言和目标平台的公共规范中。 JVM 需要根据它是在台式计算机还是移动电话上运行而采取不同的行为,即使字节码解释基本相同。

可以从以下几个地方开始寻找信息:

http://en.wikipedia.org/wiki/List_of_Java_virtual_machines http://en.wikipedia.org/wiki/List_of_Java_virtual_machines
阅读 Tim Lindholm 的《Java 虚拟机规范》
http://www.jcp.org/en/jsr/detail?id=30 http://www.jcp.org/en/jsr/detail?id=30

根据我对 Sun、IBM 或 Esmertec 等小型公司的 JVM 实现的了解,编写一个简单的 JVM 需要几个人月的项目,但在 JSR 后添加 JSR 以支持更多功能可能需要数年时间。

现在,如果您需要的只是一个简单的字节码解释器,那还不错,但仍然需要编写大量代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建自定义 JVM? [关闭] 的相关文章

随机推荐

  • AttributeError:部分初始化的模块“cv2”没有属性“gapi_wip_gst_GStreamerPipeline”(很可能是由于循环导入)

    这种情况突然发生 我能够导入 cv2 但现在导入时出现 AttributeError 部分初始化的模块 cv2 没有属性 gapi wip gst GStreamerPipeline 很可能是由于循环导入 错误 我尝试过的事情 1 卸载并安
  • NuGet-repositories.config

    NuGet新手问题 I saw repositories config被添加到 NuGet 包文件夹中 谁能指导我这个文件的用途是什么 谢谢你 该文件主要是 NuGet 实现细节 不应直接处理 它可能会消失或将来发生变化 但作为参考 它包含
  • 在 python 中更新字典

    我已经被这个问题困扰了很长一段时间 只是无法弄清楚 我只是想能够理解我缺少什么以及为什么需要它 我需要做的是创建一个函数 将每个给定的键 值对添加到字典中 参数 key value pairs 将是 key value 形式的元组列表 de
  • 为什么任务的 Result 属性对于非泛型任务 (C# 4.0+) 不可用?

    我正在尝试掌握 NET 4 0 任务并行库概念 在以下 C 4 0 代码片段中 Task t Task Factory StartNew gt Console WriteLine I am the task return res1 如果不能
  • 我的 Pyflink 设置有什么问题导致 Python UDF 抛出 py4j 异常?

    我正在使用文档中的 flink python datastream 教程 https ci apache org projects flink flink docs master docs dev python datastream tut
  • 如何使用 Cassandra 存储后端删除 Titan 中的图形?

    我使用 Titan 0 4 0 All 在 Ubuntu 12 04 上以共享 VM 模式运行 Rexster 如何正确删除 Titan 中使用 Cassandra 存储后端的图表 我已经尝试过TitanCleanup clear grap
  • 使用 ImageView 时出现内存不足错误

    我正在尝试使用 ImageView 制作壁纸设置应用程序 我知道很难显示一堆图像 特别是当图像为 1920x1080 时 我所做的是制作其他一堆具有较小分辨率 400x200 的图像 这些图像将显示在应用程序中 但是当用户尝试设置时将图像作
  • 如何获取 JSpinner 中所选项目的值?

    我正在制作一个使用最大数量为 30 的 JSpinner 的应用程序 我应该从这个 JSpinner 中选择一个值并将一个字符串粘贴到 JTextField 中 结果将出现在 Textarea 中 当我编译时 我有很多关于该方法的问题jSp
  • Android 和 OpenCV:考虑相机本质和反向投影的相机姿势单应性

    库 OpenCV 目标 Android OpenCV4Android 我尝试计算世界平面 例如监视器屏幕 的单应性以获取相机姿势 对其进行变换并将点重新投影回以进行跟踪任务 我使用 OpenCVs findHomography getPer
  • 带索引二维数组的逗号运算符

    我有这个算法 它是图论 dijkstra 算法的伪代码 首先进行的是基本的 for 循环 visitedSet 0 true visitedSet is a array of bools for int i 1 i lt numberNod
  • 防止 html 元素在分辨率太小时被挤压

    我看到像亚马逊和谷歌这样的网站 当你缩小网络浏览器的宽度时 元素只会挤压到某个点 然后即使你进一步缩小宽度 它也会停止挤压 什么样的技术可以实现这一点 是否有特定的 CSS 属性可以启用此功能 您可能正在看到min width and mi
  • 视图应该设置模型数据吗?

    我只是想弄清楚一个可能很简单的问题 视图应该直接设置模型数据还是只调用更改其自身数据的模型方法 就像软件开发中的其他事情一样 视情况而定 如果您在视图中使用表单输入 并且只需将这些输入中的数据获取到模型中 请直接设置数据 您可以通过多种方式
  • textView.getSelectionEnd() 返回 Samsung Marshmallow 6.0 设备上的起始索引值

    此问题是在以下位置观察到的搭载 Android 6 0 的三星设备仅有的 它在所有其他设备上运行良好 包括运行 Android 6 0 的非三星设备和运行 Android 5 1 及更低版本的三星设备 目前我们还没有任何搭载 Android
  • 调试 - 在 Xamarin.Forms Android 应用程序中引用 .NET 标准 1.4 库 (VS 2017)

    我用的是VS 2017 我有 Xamarin Forms Android 项目 我必须在那里引用一堆 NetStandard 1 4 库 我将所有项目都集中在一个解决方案中 我基本上添加了参考文献并编译了解决方案 没有任何问题 当我从 Ne
  • 从java获取HDFS的文件夹大小

    我必须确定 HDFS 文件夹的大小 其中包含来自 java 的子目录 从命令行我们可以使用 dus 选项 但是任何人都可以帮助我如何使用 java 获得相同的选项 The getSpaceConsumed 函数在ContentSummary
  • 找到登录的gmail用户的电子邮件地址

    我正在开发 chrome 扩展 该扩展仅专注于 Gmail 消息 该扩展名仅在 Gmail 消息中使用 但为此我需要找出登录用户的电子邮件地址 我已经创建了登录功能来使用弹出窗口中的扩展程序 并且我需要 登录用户电子邮件地址 来检查登录扩展
  • vs2010 c# 调试高亮颜色

    场景是我正在vs2010中调试一些C 代码 我停在断点处 我进入一个方法 当前行以黄色突出显示 我认为默认情况下 我在进入该方法之前留下的行现在具有浅灰色背景 如果你有深色文本还不错 但我有白色文本 根本读不懂 所以 我想改变它 但它叫什么
  • 是否可以将一个 ObservableField 绑定到另一个 ObservableField?

    我明白这样做的目的Android 的数据绑定库 https developer android com tools data binding guide html用于观察数据并在数据更改时自动更新的视图 问题 数据是否可以观察其他数据 例如
  • 如何在详细信息PreferenceFragment中加载相同的屏幕首选项

    我正在尝试做类似 Android 平板电脑中的设置首选项之类的事情 当我单击 更多 时 无线和网络 首选项屏幕将显示在右侧片段上 如果我触摸 VPN 则会在同一片段中打开 VPN 首选项屏幕 我怎样才能做到这一点 这是我的偏好 xml
  • 如何创建自定义 JVM? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在阅读第 6 10 条http www cafeaulait org javafaq html http www cafeaula