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 so

    die 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 - lesbar

    also 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 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 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 verwendet

    das ist imho richtig
    zumindest das Grundprinzip(oder liege ich da bei Java wieder falsch, glaube es aber kaum 😃 )


Anmelden zum Antworten