3 Stimmen

Instrumentierung von Java-Kernbibliotheken

Wenn wir ein Java-Programm kompilieren, erhalten wir .class-Dateien. Kann ich auf diese .class-Dateien der Java-Kernbibliotheken zugreifen? Kann ich z. B. Zugriff auf java.lang.String.class haben?

Ich recherchiere gerade und versuche, die Branch Coverage einiger Java Core Libraries zu finden. Das Tool, das ich für die Zweigabdeckung verwende, instrumentiert tatsächlich die Klassendateien.

Danke

5voto

gustafc Punkte 27673

Es ist in rt.jar in Ihrem JRE-Verzeichnis. Sie haben sogar die Quellen in src.zip . (Oder Sie könnten einfach die neueste Version von OpenJDK .)

Wenn Sie die Basisklassen instrumentieren wollen, müssen Sie auch einen Boot-Klassenpfad angeben. Sehen Sie sich den -Xbootclasspath Option für java : http://java.sun.com/javase/6/docs/technotes/tools/Windows/java.html

4voto

unbeli Punkte 28027

Sicher, es ist genau dort, in jre/lib/rt.jar in Ihrem JAVA_HOME

1voto

Ja, die Klassendateien befinden sich in dem Archiv #{JDK INSTALL PATH}/jre/lib/rt.jar. Wenn Sie eine IDE wie Eclipse verwenden, können Sie mit Strg+Klick auf jede String-Methode oder auf "String" in Deklarationen wie private String var; um diese Klasse zu öffnen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X