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

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

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

2 ответа

Решение

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

Тем не менее, есть несколько слоев оболочек, см. JVM_CurrentTimeMillis в /src/share/vm/prims/jvm.cpp

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

Другие вопросы по тегам