2011-06-28 3 views
13

Dans un premier temps, je tiens à vous faire savoir que cette question n'est pas liée à What is native implementation in Java. J'ai eu beaucoup d'informations utiles à partir de ce fil.Le code source des méthodes natives est-il disponible?

Je veux savoir quels sont les codes des implémentations natives disponibles? J'ai le code source jdk mais je ne trouve pas les codes natifs pour System.currentTimeMillis ou Runtime.getRuntime().availableProcessors() ou une autre méthode native.

+2

Vous pouvez télécharger la source pour l'ensemble OpenJDK et l'ouvrir comme un autre projet si vous avez la mémoire (Au moins je le fais.;) –

+1

@Peter Lawrey faites-vous référence http://download.java.net/openjdk/jdk6 /? –

+2

Oui, le bundle date de 4 mois et vous pouvez également télécharger le dernier contrôle de source, mais il est peu probable qu'il soit important. –

Répondre

11

Oui, voir os::javaTimeMillis dans /src/os/solaris/vm/os_solaris.cpp pour voir l'implémentation Solaris par exemple.

Il y a quelques couches d'emballages pour y arriver cependant, voir JVM_CurrentTimeMillis dans /src/share/vm/prims/jvm.cpp

2

Parce que les méthodes sous-jacentes sont intrinsèques au système d'exploitation que vous utilisez Java, vous ne trouverez pas leur code source dans la documentation JDK . Je suppose que vous auriez besoin de savoir exactement quelles procédures sont appelées sur votre plate-forme, et si le code source est disponible pour ceux-ci (ce qui dépend fortement de votre système d'exploitation).

Questions connexes