【问题标题】:Is the source code of native methods available?本机方法的源代码是否可用?
【发布时间】:2011-09-24 00:47:56
【问题描述】:

首先我想让你知道这个问题与What is native implementation in Java无关。我从该线程中获得了许多有用的信息。

我想知道本地实现的代码是否可用?我有 jdk 源代码,但我找不到 System.currentTimeMillisRuntime.getRuntime().availableProcessors() 或其他本机方法的本机代码。

【问题讨论】:

  • 你可以下载整个 OpenJDK 的源代码,如果你有内存的话,可以把它作为另一个项目打开(至少我有。;)
  • @Peter Lawrey 你指的是download.java.net/openjdk/jdk6 吗?
  • 是的,捆绑包已经使用了 4 个月,您也可以从源代码管理中下载最新版本,但这不太重要。

标签: java java-native-interface


【解决方案1】:

是的,请参阅 /src/os/solaris/vm/os_solaris.cpp 中的 os::javaTimeMillis 以查看 Solaris 实现示例。

有几层包装器可以到达那里,请参阅/src/share/vm/prims/jvm.cpp 中的JVM_CurrentTimeMillis

【讨论】:

    【解决方案2】:

    因为底层方法是您运行 Java 的操作系统所固有的,所以您不会在 JDK 文档中找到它们的源代码。我想您需要确切了解在您的平台上调用了哪些程序,以及源代码是否可用于这些程序(这在很大程度上取决于您的操作系统)。

    【讨论】:

      猜你喜欢
      • 2012-07-05
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      相关资源
      最近更新 更多