Ausführbare Java-Klassen

Hallo Leute,

Vor kurzem hat ein Prof. von mir in einer Vorlesung einer foo.jar/foo.class in Linux das Recht zum Ausführen gegeben. Danach konnte er die Datei nicht nur mit
Code:
java foo
starten, sondern auch ohne weiteres mit
Code:
./foo.class
starten.

Wie ist das möglich? Woher weiß die Konsole, dass in foo.class Byte-Code steckt und das Programm somit in der JRE gestartet werden muss?

Vielen Dank für eure Mühe,
Viele Grüße
Tom
 
der linux kern kennt eine liste mit interpretern für ausführbare dateien ... die meisten (sprich alles was du vermutlich jemals sehen wirst) linux kernel bringen mindestens den interpreter für ELF mit, da heute so gut wie jede linux binary (der du begegnen wirst) in diesem format ist.

es spricht nichts dagegen einen interpreter für andere formate wie z.b. java bytecode in den kernel zu packen, oder als LKM nachzuladen ...
 
Zurück
Oben