java实现?

时间:2011-03-14 02:12:31

标签: java

我一直在关注shoootout alioth基准http://shootout.alioth.debian.org/, 提到两个不同的“java”,它们之间有什么区别?

(java xint和java server)

我知道一点点java(在暑期课上学到的......只是基础知识)

对此感到好奇..

提前预订..

2 个答案:

答案 0 :(得分:4)

有多种Java实现(请参阅OpenJDKApache Harmony,Jikes等等),但您所说的是:java serverjava xint不是单独的Java版本。 -Xint-server是两个不同的命令行参数,可以传递给java运行时。

这是-Xint

  

-Xint

     

以仅解释模式操作。禁用对本机代码的编译,并且解释器将执行所有字节码。 Java HotSpot客户端VM的自适应编译器提供的性能优势将不会出现在此模式中。

这里有'-server参数:

  

-server

     

选择Java HotSpot Server VM。在支持64位的jdk上,仅支持Java HotSpot Server VM,因此-server选项是隐式的。这可能会在将来的版本中发生变化。

     

有关默认VM选择,请参阅服务器级机器检测

答案 1 :(得分:1)

“xint”和“server”变体只是Java Hotspot虚拟机的不同命令行选项。

  • “-xint”选项告诉HotSpot禁用本机代码编译,并使用字节码解释器执行所有代码。您不会使用生产代码执行此操作。在这种情况下,基准测试(我猜)的目的是显示当您尝试最小化启动时间时会发生什么。

  • “-server”选项选择针对长时间运行的应用程序调整的HotSpot设置。与“-client”相比,HotSpot决定JIT编译特定方法需要更长时间......但JIT编译器可以更好地进行优化。 (最终结果是启动速度较慢,但​​长期性能更好。)

    然后,在测量实际时间之前,基准测试会运行多次以“预热”JVM。我们的想法是将启动时间排除在等式之外。