Minecraft läuft ohne systemweite Java Installation


  • Das liegt wohl an der Person. die vor dem PC sitzt. Bisher bist du der einzige, dem das passiert ist. Ich hatte damit noch nie Probleme.

    Ich lade mir regelmäßig aktiv Schadware herunter für meine virtuellen Maschinen, um sie zu analysieren und anschließend wieder zu entfernen, habe in diesem Bereich Erfahrung.


    Mein System ist immer auf dem aktuellsten Stand, meine UAC und Firewall im Hardcore-Modus usw.


    Glaub mir, ich weiß was ich bestätigen und was ich ablehnen muss und da kam definitiv keine Meldung/Aufforderung oder irgendwas in der Richtung. Nur die Meldung vom AntiViren-Programm.

    Meine Rechtschreib- und Tippfehler sind urheberrechtlich geschützt und dürfen nicht kopiert werden!

  • Ich merke das schon bei einfachen Rechenaufgaben, bei denen die Ergebnisse nicht korrekt sind. Du scheinst dich nicht mehr an die Diskussion damals zu erinnern :grinning_face_with_smiling_eyes:


    Damals wurde dir schon mehrfach erklärt, dass das in der Natur von Floats ist... Hier zur Erfrischung: http://stackoverflow.com/a/11825865/2475431
    Das Problem existiert übrigens nicht nur in Java: https://msdn.microsoft.com/en-us/library/c151dt3s.aspx


    Sag das mal den Viren, die der Java-Updater völlig im Hintergrund für mich heruntergeladen hat.


    Woher weißt du überhaupt, das es der Java Updater war?


    Ich lade mir regelmäßig aktiv Schadware herunter für meine virtuellen Maschinen, um sie zu analysieren und anschließend wieder zu entfernen, habe in diesem Bereich Erfahrung.


    Das Herunterladen und Dekompilieren von ".NET" oder "Java" - möchtegern Viren hat nicht wirklich viel mit Schadsofware-Analyse zu tun. Auch weiss ich nicht, was das mit dem Thema zu tun hat.


    Mein System ist immer auf dem aktuellsten Stand, meine UAC und Firewall im Hardcore-Modus usw.


    Wahrscheinlich ist das erst seit dem "Java-Zwischenfall" so.

  • Ich merke das schon bei einfachen Rechenaufgaben, bei denen die Ergebnisse nicht korrekt sind. Du scheinst dich nicht mehr an die Diskussion damals zu erinnern :grinning_face_with_smiling_eyes:



    C++-Code, der Fehler verursacht.



    C# :winking_face:


    Java bietet bezüglich der Brüche sogar eine eigene Klasse, BigDecimal. Damit ist praktisch unendlich Genauigkeit möglich. In C# gibt es eine solche Klasse nicht, auch wenn das C#-Pendant zum BigInteger durchaus existiert. decimal gibt es zwar auch, aber das sind nur 128 bit, das lässt ja durchaus noch Möglichkeiten der Ungenauigkeiten !

    Einmal editiert, zuletzt von _ShadowRaven_ ()

  • Damals wurde dir schon mehrfach erklärt, dass das in der Natur von Floats ist... Hier zur Erfrischung: http://stackoverflow.com/a/11825865/2475431
    Das Problem existiert übrigens nicht nur in Java: https://msdn.microsoft.com/en-us/library/c151dt3s.aspx

    Wat? Ich rede von:


    public class Rechnen
    {
    public static void main(String []args)
    {
    double test = 0;
    test = 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1;
    System.out.println(test);
    }
    }


    Woher weißt du überhaupt, das es der Java Updater war?

    Waren alle im "Java Update"-Ordner.



    Das Herunterladen und Dekompilieren von ".NET" oder "Java" - möchtegern Viren hat nicht wirklich viel mit Schadsofware-Analyse zu tun. Auch weiss ich nicht, was das mit dem Thema zu tun hat.

    Gut das du weißt mit was ich hier Spaß habe :winking_face: </sarkasmus>


    Und das war die Antwort an Akiyama.


    Wahrscheinlich ist das erst seit dem "Java-Zwischenfall" so.

    Jo, zu dem Zeitpunkt durfte Java noch durch die Firewall, sonst aber keine Unterschiede.

    Meine Rechtschreib- und Tippfehler sind urheberrechtlich geschützt und dürfen nicht kopiert werden!

  • Wer sich die Binärdarstellung von " 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1" mal anschaut und sie mit der von C# vergleicht (es ist übrigens ziemlicher Krebs, sich die Binärdarstellung in C# zu besorgen. Double.ToBinary, do you know it ?), der sieht genau, dass sich die beiden Binärrepresentationen absolut gleichen (Es ist wahr, prüf' es nach). Rein binärtechnisch läuft also alles durchaus richtig, nur die Rückinterpretation funktioniert in Java nicht ganz so toll. Oder vielleicht doch in C# ?
    Man schaue sich einmal den Wert in einer Binärrepresentation an (welcher in beiden Sprachen absolut gleich ist):
    11111111101111111111111111111111111111111111111111111111111111
    Und hier einmal den tatsächlichen Wert 1.0 als Binärrepresentation:
    11111111110000000000000000000000000000000000000000000000000000


    Man braucht nicht lange zu fackeln um zu merken, dass die Werte eindeutig unterschiedlich sind. Also könnte man zwar sagen, dass Java und C# etwas ungenauer sind. Genau genommen ist Java aber genauer, denn der Wert als Binärrepresentation entspricht in keinster Weise 1.0, sondern tatsächlich etwas im 0.9999999999999999-Bereich. Wenn man also rein objektiv betrachtet, dass C# die Ausgabe rundet, obwohl der Wert nicht 1.0 entspricht, sondern, wie erwartet, 0.9999999999999999, dann sehe ich das als groben Fehler der Programmiersprache an sich. Wenn bei meinen Berechnungen 0.9999999999999999 herauskommt, muss ich mich darauf verlassen können, dass ich diesen Wert auch zurückgemeldet bekomme (beispielsweise, wenn ich in einer Berechnung möglichst genaue Kommastellen benötige). Die Aufgabe der Programmiersprache ist nicht, an den Ergebnissen der Berechnung herumzuinterpretieren, sondern das auszugeben, was tatsächlich gespeichert wird.