Ich fand den ClassLoader aufrufen einige JVM nativen Code, also habe ich versucht, diese nativen Code aus dem JVM-Quellcode unten zu überprüfen, zum Beispiel möchte ich die Methode defineClass1 überprüfen, aber ich finde ich konnte sie nicht erhalten. Kann ich den zugehörigen JVM-Quellcode basierend auf dem nativen Code finden, der vom Java-Code aufgerufen wird?Wie finde ich die native Methode aus dem JVM-Quellcode?
http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/log?rev=defineClass1
private native Class defineClass0(String name, byte[] b, int off, int len,
ProtectionDomain pd);
private native Class defineClass1(String name, byte[] b, int off, int len,
ProtectionDomain pd, String source);
private native Class defineClass2(String name, java.nio.ByteBuffer b,
int off, int len, ProtectionDomain pd,
String source);
Es kann mehrere Versionen geben, d. H. Pro Plattform. Laden Sie einfach ein Text-Such-Tool herunter und starten Sie es. Wenn man nachdenkt, dass die Methoden in den Commit-Protokollen sehr wahrscheinlich fehlschlagen, würde ich nicht erwarten, dass sie diese Art von Informationen enthalten. - Ich möchte Sie jedoch fragen: Was wollen Sie tun? Warum interessieren Sie sich für den systemeigenen Code? – Thomas
@Thomas, ich möchte die JVM studieren. – Jason