【发布时间】:2012-01-05 11:12:30
【问题描述】:
我知道python的排序实现(timsort)是用C实现的,以获得更好的性能。 java实现也是这样,还是java算法都是java实现的?
【问题讨论】:
-
查看源代码以找到它(它位于 JDK 目录中的 ZIP 文件中)。 (或等一下有人发布答案)
标签: java performance algorithm implementation
我知道python的排序实现(timsort)是用C实现的,以获得更好的性能。 java实现也是这样,还是java算法都是java实现的?
【问题讨论】:
标签: java performance algorithm implementation
大多数标准库通常是用 Java 实现的。也就是说,许多操作系统或平台特定的功能必须在“本机”代码中实现,因此很大一部分通常也是用 C 和/或 C++ 编写的。当然,它确实有点依赖于特定的 JVM 实现。
以非 Java 语言实现的典型功能包括线程、网络 I/O、文件 I/O 和低级 UI API。请注意,这些都是非常低级的特定功能 - 更抽象/通用的算法非常适合在 Java 中实现,因此通常是。
【讨论】:
如果您查看java.util.Arrays.sort() 源代码,您会发现排序算法是用Java 实现的。但这并不一定意味着所有其他算法也是如此。
【讨论】:
据我所知,它们是用 Java 实现的。 Here你可以找到一些关于它的信息。
【讨论】:
答案是,这取决于实际的 JVM 实现和算法的类型。大多数公共标准 API 算法都在 java 中。一个例外肯定是线程调度。
【讨论】:
大部分 Java 库都是用 Java 实现的,包括 sort algorithm
【讨论】: