2009-04-17 9 views

Antwort

5

Der einfachste Weg, um herauszufinden, ist nur auf die source code (das ist von Sun J2SE Website; es gibt auch die OpenJDK-Quelle für 6 und 7). Es ist so ziemlich wie Sie erwarten würden - Dinge, die absolut in nativem Code, z. "Öffne einen Socket oder eine Datei" sind nativ, aber fast alles andere ist in Java geschrieben (in der Sun-Implementierung sowieso).

+0

Wow Jon! Du kennst Java auch? Ich habe gerade "C# In Depth" gekauft. Es ist sehr gut. Glückwunsch! –

+0

Java ist mein Tagesjob - C# ist meine Leidenschaft :) Froh, dass Sie das Buch genießen - bitte lassen Sie mich wissen, was Sie in der 2. Ausgabe sehen möchten: http://msmvps.com/jon.skeet –

+0

Skeeted um 32 Sekunden. *Seufzer* –

4

Laden Sie OpenJDK herunter und finden Sie es heraus!

Das meiste davon ist Java, aber es gibt einige Low-Level-Dinge, die nativen Code sein müssen (Grafiken und Dateioperationen kommen mir in den Sinn).

0

Ich habe keine Nummern, aber es sollte einfach zu berechnen sein.

Wenn Sie die Gesamtzahl der Methoden der API zum Berechnen von% berücksichtigen möchten, können Sie einfach die Gesamtzahl und die mit dem nativen Schlüsselwort in ihren Definitionen zählen.

Sie können diese Berechnung durchführen, indem Sie den Open-Source-Implementierungsquellcode von SUN analysieren.

2

Laden Sie Apache Harmony herunter und finden Sie es heraus!

Etwa 85% der Sun JRE sind in Java geschrieben. In der Tat muss sehr wenig in nativem Code geschrieben werden. IBMs Jikes RVM (früher Jalapeño) und Suns Maxine sind JVMs, die fast vollständig in Java geschrieben sind. Der Großteil des systemeigenen Codes in Sun JRE ist aus Legacy-Gründen nativ. Einige weil es bequem ist. Eine sehr kleine Menge ist nativ, weil sie (oder war) geringfügig schneller ist.

Verwandte Themen