【问题标题】:Are java algorithms implemented in C or in java?java算法是用C还是java实现的?
【发布时间】:2012-01-05 11:12:30
【问题描述】:

我知道python的排序实现(timsort)是用C实现的,以获得更好的性能。 java实现也是这样,还是java算法都是java实现的?

【问题讨论】:

  • 查看源代码以找到它(它位于 JDK 目录中的 ZIP 文件中)。 (或等一下有人发布答案)

标签: java performance algorithm implementation


【解决方案1】:

大多数标准库通常是用 Java 实现的。也就是说,许多操作系统或平台特定的功能必须在“本机”代码中实现,因此很大一部分通常也是用 C 和/或 C++ 编写的。当然,它确实有点依赖于特定的 JVM 实现。

以非 Java 语言实现的典型功能包括线程、网络 I/O、文件 I/O 和低级 UI API。请注意,这些都是非常低级的特定功能 - 更抽象/通用的算法非常适合在 Java 中实现,因此通常是。

【讨论】:

    【解决方案2】:

    如果您查看java.util.Arrays.sort() 源代码,您会发现排序算法是用Java 实现的。但这并不一定意味着所有其他算法也是如此。

    【讨论】:

      【解决方案3】:

      据我所知,它们是用 Java 实现的。 Here你可以找到一些关于它的信息。

      【讨论】:

        【解决方案4】:

        答案是,这取决于实际的 JVM 实现和算法的类型。大多数公共标准 API 算法都在 java 中。一个例外肯定是线程调度。

        【讨论】:

          【解决方案5】:

          大部分 Java 库都是用 Java 实现的,包括 sort algorithm

          【讨论】:

          • 但是 OpenJDK 不是标准的 JVM 实现。
          • @Viruzzo 你确定吗? :)
          • 我的立场是正确的,现在是(从 Java 7 开始)。这就是您大部分时间都必须使用 Java 1.4.2 的结果...
          猜你喜欢
          • 2011-04-23
          • 1970-01-01
          • 2013-09-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多