2011-06-28 11 views
13

Na początku chcę poinformować, że to pytanie nie jest związane z What is native implementation in Java. Mam wiele przydatnych informacji z tego wątku.Czy dostępny jest kod źródłowy dostępnych metod?

Chciałbym wiedzieć, czy są dostępne kody rodzimych implementacji? Mam kod źródłowy jdk, ale nie mogę znaleźć kodów natywnych dla System.currentTimeMillis lub Runtime.getRuntime().availableProcessors() lub innej natywnej metody.

+2

Możesz pobrać źródło dla całego OpenJDK i mieć je otwarte jako inny projekt, jeśli masz pamięć (przynajmniej ja to robię;) –

+1

@ Peter Lawrey masz na myśli http://download.java.net/openjdk/jdk6 /? –

+2

Tak, pakiet ma 4 miesiące i możesz pobrać najnowszą wersję ze źródła, ale jest to mało prawdopodobne. –

Odpowiedz

11

Tak, zobacz os::javaTimeMillis w /src/os/solaris/vm/os_solaris.cpp, aby zobaczyć przykład wdrożenia Solaris.

Istnieje kilka warstw owijarki się tam dostać chociaż patrz JVM_CurrentTimeMillis w /src/share/vm/prims/jvm.cpp

2

ponieważ metody bazowe są nierozerwalnie związane z OS są uruchomione Java na, nie znajdziesz ich kodu źródłowego w dokumentacji JDK . Przypuszczam, że musisz dokładnie sprawdzić, jakie procedury są wywoływane na twojej platformie i czy kod źródłowy jest dostępny dla tych (co w dużym stopniu zależy od twojego systemu operacyjnego).

Powiązane problemy