C++ und C#
-
Hauptmann schrieb:
Also hat man, wenn die Anwendung läuft, eine richtige *.exe im RAM, was ja bei JAva nicht der Fall ist, hier wird ja die class Datei interpretiert und nicht compiliert
Etwa 99% (nach meiner Erfahrung) des Java-Bytecodes werden auch zur Laufzeit in Maschinencode kompiliert. Du solltest vielleicht mal dein Java-Wissen aktualisieren. Es ist wohl mindestens 5 Jahre her, dass der Bytecode einfach interpretiert wurde.
Aber ich verstehe immernoch nicht, auf welchen Performanceunterschied du bei deinen beiden genannten "Möglichkeiten" hinauswillst.
-
geb ich gregor recht
das mit java ist schon lange nicht mehr sodie IL ist sowas wie assembler?? - kenn mich da jetzt nicht so aus
, aber das klingt unvernünftig
assembler ist ja eine beschreibung von maschinencode und wesentlich grösser als die eigentliche .exe dadurch das man halt lesbare befehle hat
und genau das wird die MSIL wohl nicht sein - lesbaralso ich denke halt das die IL genau so etwas ist wie der binärstandard den java klassenfiles haben
etwas das man interpretieren kann auf jeder plattform sei es nun intel x86
oder das neueste handy (angenommen es gäbe eines auf dem .net läuft) das mit einer völlig anderen architektur daherkommtANNAHME: -- kann mir irgendwer sagen was davon alles stimmt!
das ganze wird halt bei MSIL glaub ich vor dem ersten ausführen auf einer plattform ganz übersetzt und ins file gespeichert während java das ganze in der JVM hält und sobald diese sich beendet muss es wieder neu übersetzt werden
dennoch interpretiert java nicht da es zuerst alles übersetzt und diesen maschinencode dann immer wieder verwendet
-
gomberl schrieb:
m .net läuft) das mit einer völlig anderen architektur daherkommt
ANNAHME: -- kann mir irgendwer sagen was davon alles stimmt!
das ganze wird halt bei MSIL glaub ich vor dem ersten ausführen auf einer plattform ganz übersetzt und ins file gespeichert während java das ganze in der JVM hält und sobald diese sich beendet muss es wieder neu übersetzt werden
dennoch interpretiert java nicht da es zuerst alles übersetzt und diesen maschinencode dann immer wieder verwendetdas ist imho richtig
zumindest das Grundprinzip(oder liege ich da bei Java wieder falsch, glaube es aber kaum)