Является ли исходный код нативных методов доступным?

Сначала я хочу сообщить, что этот вопрос не связан с Что такое встроенная реализация в Java. Я получил много полезной информации из этой темы.

Я хочу знать, что доступны коды исходных реализаций? У меня есть исходный код jdk, но я не могу найти собственные коды для System.currentTimeMillis или Runtime.getRuntime().availableProcessors() или другого собственного метода.

Ответы

Ответ 1

Да, см. os:: javaTimeMillis в /src/os/solaris/vm/os_solaris.cpp, чтобы увидеть реализацию Solaris, например.

Есть несколько слоев оберток, чтобы попасть туда, см. JVM_CurrentTimeMillis в /src/share/vm/prims/jvm.cpp

Ответ 2

Поскольку базовые методы являются неотъемлемой частью ОС, на которых запущена Java, вы не найдете их исходный код в документации JDK. Я полагаю, вам нужно будет выяснить, какие именно процедуры вызывают на вашей платформе, и если исходный код доступен для тех, кто сильно зависит от вашей ОС.