当前位置: 首页 > 面试题库 >

JVM实现之间的差异

咸育
2023-03-14
问题内容

JVM实现在哪些方面有所不同(许可除外)?每个JVM是否都为通用处理实现类型清除?

之间的区别在哪里:

  • JRockit
  • IBM JVM
  • SUN JVM
  • Open JDK
  • power failure
  • Kaffi

.....处理其中之一的尾部呼叫优化吗?


问题答案:

JVM实现在实现JIT编译,优化,垃圾回收,支持的平台,支持的Java版本等方面可以有所不同。它们都必须满足一组功能和行为,以便它可以正确执行Java字节码。

正如您所指出的,主要的区别往往在于许可。其他非技术上的差异通常包括免费/付费支持选项,与其他技术(通常是J2EE服务器)的集成以及对源代码的访问。

注意:当J2EE服务器在JVM上运行时,某些服务器具有用于监视,分析和调整JVM性能的集成工具。

就技术差异而言,这些年来的重要性没有那么大。曾几何时,IBM和JRockit
JVM的性能远远优于参考Sun实施。这是由于运行时优化类型的重大差异,垃圾回收的差异以及本机代码的差异(以及各个类使用多少本机代码)引起的。这些性能差异不再那么重要。

一些JVM还包括诊断程序和监视工具或与之集成。JRockit包含一组用于监视JVM性能的工具。Sun提供了各种具有重叠功能的基于JMX的工具,以实现相同的目的。曾经有一段时间,IBM
Websphere为其整个J2EE应用程序服务器提供了一套相似的工具(不确定它们是否仍然适用,但是我认为那仍然是事实)…

一些开源JVM的性能往往会稍慢一些,因为它们是从头开始重新开发的。因此,他们还有更多工作要做。我上次检查大约2年前,Blackdown比SunJVM慢得多(1.5x-2x?)。它也落后于受支持的Java版本。



 类似资料:
  • 本文向大家介绍JDK,JRE和JVM之间的差异。,包括了JDK,JRE和JVM之间的差异。的使用技巧和注意事项,需要的朋友参考一下 这三个JDK,JRE和JVM都是相互依赖的,并且没有共同点,因此以表格形式说明它们之间的差异并不有效,但是我们将在以下段落中进行讨论。 虚拟机 JVM是Java虚拟机的缩写,基本上是一种规范,它提供了一个运行时环境,可以在其中运行Java字节码,即它是抽象的东西,其实

  • 我知道聚合和组合之间的概念差异。有人能用实例告诉我它们之间在Java中的实现区别吗?

  • 问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。

  • 在swift中似乎有两个相等运算符:双相等()和三相等(),这两者有什么区别?

  • 问题内容: 我试图得到两个日期时间之间的差异,并将其作为返回。我找到了使用示例,但似乎无法正确处理。 但是登录到我的数据库。这是因为我没有格式化totaltime变量吗? 问题答案: 我不确定您要寻找的格式有何不同,但这是使用DateTime的方法

  • 我编写了一个简单的脚本,它接受任意数量的参数来演示< code>$@和< code>$*之间的区别: 在我做的 CLI 上 这就是打印出来的 因为它们是相同的,这是否意味着等于?还是我遗漏了一点?