Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Als O'Reilly zum ersten Mal an mich herantrat, um ein Buch über Java-Leistungstuning zu schreiben, war ich unsicher. Java-Leistung, dachte ich - sind wir damit nicht fertig? Ja, ich arbeite immer noch täglich daran, die Leistung von Java- (und anderen) Anwendungen zu verbessern, aber ich denke, dass ich die meiste Zeit damit verbringe, mich mit algorithmischen Ineffizienzen und externen Systemengpässen zu befassen und nicht mit Dingen, die direkt mit Java-Tuning zu tun haben.
Ein kurzer Moment des Nachdenkens hat mich davon überzeugt, dass ich mir (wie immer) etwas vorgemacht habe. Es ist sicherlich wahr, dass die End-to-End-Systemleistung einen Großteil meiner Zeit in Anspruch nimmt und dass ich manchmal auf Code stoße, der eine Algorithmus zu verwenden, wenn er einen mit O(logN) Leistung verwenden könnte. Trotzdem denke ich jeden Tag über die Leistung der Speicherbereinigung (GC) nach, über die Leistung des JVM-Compilers oder darüber, wie ich die beste Leistung aus den Java-APIs herausholen kann.
Das soll die enormen Fortschritte nicht schmälern, die in den letzten mehr als 20 Jahren bei der Leistung von Java und JVMs gemacht wurden. Als ich in den späten 1990er Jahren Java-Evangelist bei Sun war, gab es als einzigen echten "Benchmark" den CaffeineMark 2.0 von Pendragon Software. Aus verschiedenen Gründen schränkte das Design ...