0

Wie schafft es die Funktion System.out.print() aus der Java Library, dass tatsächliche Text ausgegeben wird? In dieser Funktion steht doch eigentlich auch nur normaler Java-Code. Könnte man die System.out.print() Funktion nachbauen, ohne irgendeine Funktion aus der Java Library zu nutzen?

Diese Frage melden
gefragt

Punkte: 14

 
Kommentar schreiben
1 Antwort
1

Am Ende des Tages wird vom Java-Code eine Funktion des JNI (Schnittstelle zum Betriebssystem) aufgerufen. Der Aufruf zu writeBytes ist das Ende vom Java-Code - alles danach wird von der Java-Runtime durchgeführt.

Nach elend vielen Ebenen wird also ganz am Ende der WriteFile (Windows) bzw. os::write (Linux) ausgeführt. An den Code kommst du in Java nicht direkt, du kannst natürlich trotzdem die writeBytes-Funktion des JNI aufrufen (unter der Annahme, dass du die entsprechenden Parameter für die Konsole, etc. übergibst).

Hier ein Artikel mit einer detaillierteren Erklärung: https://luckytoilet.wordpress.com/2010/05/21/how-system-out-println-really-works/

Diese Antwort melden
geantwortet

Punkte: 45

 

Kommentar schreiben