So verbessern Sie die Leistung von Java-Anwendungen in 10 Schritten
Das Leben im digitalen Zeitalter ist ebenso ein Segen wie eine Frustration. Wenn Computer und Anwendungen reibungslos funktionieren, neigen wir dazu, sie als selbstverständlich zu betrachten. Wenn jedoch ein Computer einfriert oder eine Anwendung einen Laptop oder ein mobiles Gerät blockiert, erhöht eine schlechte Leistung den Stress.
Egal, ob Sie ein Entwickler sind, der Zugriff auf den Quellcode hat, oder einfach nur ein Endbenutzer, der versucht, eine ärgerlich langsame Java-Anwendung zu beschleunigen, wir haben gute Nachrichten: Es gibt Schritte, die Sie unternehmen können, um die Leistung zu verbessern.
Ist Java dasselbe wie JavaScript?
Kurz gesagt, nein; Java und JavaScript sind zwei völlig unterschiedliche Technologien. Obwohl es sich bei beiden um objektorientierte Technologien handelt, handelt es sich bei Java um eine Entwicklungsumgebung, in der Programmierer Anwendungen programmieren können, die für die lokale Ausführung im physischen Speicher eines Systems konzipiert sind.
JavaScript hingegen wurde für die Erstellung von Webanwendungen entwickelt und fällt häufig mit anderen Webtechnologien wie HTML und CSS zusammen. Heute werden wir uns mit den besten Möglichkeiten befassen, die Leistung von Anwendungen zu verbessern, die in Java, nicht jedoch in JavaScript, geschrieben sind.
Ursachen für schlechte Anwendungsleistung
Die Ursachen für eine leistungsschwache Anwendung sind vielfältig, obwohl es sich bei den Hauptursachen um eine Handvoll Probleme handelt. Die ersten beiden Ursachen sind natürlich schlechtes Design und mangelhafte Codierung.
Obwohl IDEs und Code-Editoren Tests und Objekte hervorheben, um sie für Menschen lesbarer zu machen, besteht eine Kommunikationslücke zwischen Computern und Menschen. Beim Erstellen einer Anwendung werden Sie Fehler machen – daran führt kein Weg vorbei.
Der Computer versteht manchmal Ihre Absicht nicht. Vielmehr führt es nur die Anweisungen aus, die ihm gegeben werden. Neben Algorithmen- und Codierungsfehlern sind Ressourcendefizite eine weitere häufige Ursache.
Lokale Hardware wie RAM und CPU-Zyklen wirken sich ebenso auf die Anwendungsleistung aus wie andere Ressourcen wie die Netzwerkbandbreite. Beachten Sie außerdem, dass lokale Betriebssystemprobleme häufig die Anwendungsleistung beeinträchtigen.
So verbessern Sie die Leistung von Java-Anwendungen – 10 Schritte
Bevor wir näher auf die einzelnen Schritte eingehen, möchten wir Ihnen wie folgt einen allgemeinen Überblick darüber geben, wie Sie die Leistung und Geschwindigkeit von Java-Anwendungen verbessern können:
- Führen Sie Profilerstellung und Lasttests durch – Die Profilierung Ihrer Java-Anwendung hilft dabei, Schwachstellen und Engpässe aufzudecken.
- Bereinigen Sie Code und überarbeiten Sie Algorithmen – sauberer Code ist einfacher zu warten, zu bearbeiten, zu lesen und zu verfeinern; Durch die Anpassung Ihrer Algorithmen werden tautologische Funktionsaufrufe reduziert.
- Vermeiden Sie nach Möglichkeit eine Rekursion – Rekursion ist in manchen Fällen ein notwendiges Übel, sollte jedoch sparsam eingesetzt werden.
- Aktualisieren Sie die Systemhardware – Eine schlechte Anwendungsleistung ist möglicherweise nicht auf schlechten Code und Algorithmen zurückzuführen. Stattdessen kann die zugrunde liegende Ursache mit dem System zusammenhängen, auf dem die Anwendung ausgeführt wird.
- Erhöhen Sie die LAN- und WAN-Bandbreite – nicht alle Funktionen interagieren mit der lokalen Hardware; Wenn Ihre Anwendung mit Remote-Systemen kommuniziert, ist möglicherweise Ihre Netzwerkinfrastruktur dafür verantwortlich.
- Räumen Sie Ihr Betriebssystem auf – Unordentliche Betriebssysteme benötigen Wartung, um Anwendungen optimal ausführen zu können.
- Setzen Sie StringBuilder ein, um die Effizienz zu steigern – Zeichenfolgen sind in den meisten Anwendungen nahezu unvermeidbar, die Operation „+=“ ist jedoch äußerst ineffizient.
- Nutzen Sie das Caching für eine verbesserte Leistung – Caching ist eine der besten Möglichkeiten, redundante Objektinstanziierungen und Funktionsaufrufe zu reduzieren.
- Bevorzugen Sie den Stapel gegenüber dem Heap – Der Stapel ist im Hinblick auf die Systemressourcen effizienter, da er sich selbst verwaltet und den Speicher freigibt, den nicht mehr funktionierende Objekte belegen.
- Beeinflussen Sie die Speicherverwaltung– Als letzten Ausweg ist manchmal der Zugriff auf den Heap-Speicher erforderlich. Dazu müssen Sie die richtige Garbage-Collection-Methode auswählen.
Lassen Sie uns nun etwas tiefer in die einzelnen Methoden eintauchen, um die Leistung von Java-Anwendungen zu verbessern.
Verwandter Beitrag: Apache Tomcat-Überwachung
1. Führen Sie Profilerstellung und Lasttests durch
Der erste Schritt zur Verbesserung der Leistung von Java-Anwendungen besteht darin, Bereiche mit Verbesserungspotenzial zu identifizieren. Ohne zu wissen, wo die größten Probleme liegen, ist der Versuch, eine Anwendung zu beschleunigen, so, als würde man mit verbundenen Augen einen Pfeil auf eine Dartscheibe werfen. Glücklicherweise gibt es Softwaretools, die Daten zur Anwendungsleistung sammeln.
Das erste Tool, das wir empfehlen würden, ist Java-Profiling-Software. Ein solches Beispiel ist YourKit , eine Lösung, die sowohl für Unternehmen als auch für Einzelanwender geeignet ist. YourKit bietet eine Vielzahl von Lizenzen an, darunter Unternehmenslizenzen, akademische Lizenzen, Open-Source-Lizenzen und Einzelplatzlizenzen.
Zu seinen Funktionen gehören unter anderem die folgenden:
- CPU-Leistungsprofilierung
- Profilierung der Speicherleistung
- Erkennung von Speicherlecks
- Threads und Synchronisationsanalyse
- Web-, Datenbank- und I/O-Leistungstests
Dieses Tool wurde für den Einsatz auf lokalen Systemen, Remote-Systemen, derzeit in der Entwicklung befindlichen Projekten und sogar Produktionssoftware entwickelt. YourKit ist jedoch nicht der einzige hochwertige Java-Profiler und hat starke Konkurrenz durch andere Lösungen wie EJ-Technologien , wodurch die erstellt wurde JProfiles .
Dieses Tool ist sehr ähnlich YourKit und bietet Testoptionen für lokale und Remote-Sitzungen, Offline-Trigger, Snapshot-Vergleiche, Anforderungsverfolgung (HTTP, RMI, Webdienst, EJB, AWT-Ereignisse, Thread-Starts usw.) und die Erstellung benutzerdefinierter Sonden sowie viele andere Funktionen. Zuletzt, JProfiles verfügt außerdem über Hardware-, Thread-, Telemetrie- und Datenbankprofilierungstools.
2. Code bereinigen und Algorithmen überarbeiten
Software-Quellcode ist wie der erste Entwurf eines Romans – er ist nach der ersten Iteration nie perfekt und erfordert erhebliche Überarbeitungen, bevor er endgültig ausgefeilt ist. In erster Linie sollten Sie danach streben, sauberen Code voller Kommentare zu schreiben, damit Sie durch Ihren Text navigieren und sich leicht merken können, warum jedes Objekt instanziiert und warum jede Funktion aufgerufen wurde.
Auch wenn die Sauberkeit Ihres Codes eine Java-Anwendung nicht allein beschleunigt, hilft sie Ihnen, unnötigen Code effizienter zu bereinigen und nach Schwachstellen und Redundanzen in Ihren Algorithmen zu suchen. Sauberer Code macht auch den Debugging-Prozess reibungsloser und hilft Ihnen, Fehler (wie Speicherlecks) zu korrigieren, die Sie nach der Profilerstellung und dem Lasttest Ihrer Software festgestellt haben.
Datadog APM Java Profiler (KOSTENLOSE TESTVERSION)
Eine weitere erwägenswerte Option ist der darin enthaltene Java-Profiler Datadog APM Paket. Dieser Anwendungsmanager ist ein cloudbasiertes System. Es verfolgt die Ressourcennutzung von Java-Anwendungen nach Klasse und Methode und bietet eine schrittweise Ansicht des Java-Codes, der die Ausführung über APIs und Funktionsaufrufe verfolgt. Der Dienst verfolgt auch umfassendere Anwendungs- und Website-Leistungsmetriken wie Verfügbarkeit und Antwortzeiten.
Datadog APM Java Profiler Starten Sie die 14-tägige KOSTENLOSE Testversion
3. Vermeiden Sie nach Möglichkeit eine Rekursion
Rekursion ist eine grundlegende Programmierstrategie, bei der sich eine Funktion selbst aufruft, um ein Problem zu lösen. Rekursion ist jedoch nicht unbedingt böse, sie ist ein zweischneidiges Schwert. Es hat Vorteile und praktische Anwendungsmöglichkeiten. Beispielsweise macht die Rekursion den Code sauberer und kompakter und reduziert tautologische Iterationen von Schleifen und Funktionen.
Da die Rekursion die Komplexität und das Volumen des Codes reduziert, trägt sie dazu bei, dass eine Java-Anwendung einfacher zu warten ist. Leider gehen diese Vorteile zu Lasten der Anwendungsleistung. Rekursion und Funktionsaufrufe sind im Hinblick auf Geschwindigkeit und Leistung teuer, da sie Pop- und Push-Funktionen auf dem Stapel erfordern.
Eine effizientere Lösung für die Rekursion ist hingegen das Schleifen. Schleifenoperationen sind möglicherweise schwieriger zu lesen und bestehen aus mehr Zeichen und Quellcode als Rekursionen. Sie sind jedoch vorzuziehen, wenn die Anwendungsleistung maximiert werden muss. Es mag nicht immer praktikabel sein, ganz auf die Rekursion zu verzichten, aber wenn man sie so weit wie möglich entschärft, kann man die Leistung von Java-Anwendungen verbessern.
4. Aktualisieren Sie die Systemhardware
Oberflächlich betrachtet scheint es, dass eine leistungsschwache Java-Anwendung auf ein Softwareproblem zurückzuführen sein muss. Obwohl es kontraintuitiv erscheinen mag, kann die Ursache für die schlechte Leistung ein Hardwareproblem sein. Unabhängig davon, ob Sie eine Java-Anwendung lokal oder remote ausführen, verfügt das System, auf dem die Java-Anwendung ausgeführt wird, möglicherweise nicht über genügend Systemressourcen, um den Code zufriedenstellend auszuführen.
Die am einfachsten zu aktualisierende Komponente, die sich normalerweise direkt auf die Softwareleistung auswirkt, ist der Arbeitsspeicher. Indem Sie den physischen Speicher Ihres Computers erweitern, verringern Sie die Wahrscheinlichkeit, dass dem System der Speicherplatz für Anwendungsdaten ausgeht und Sie gezwungen sind, die Festplatte wieder als spontanen RAM zu verwenden. Diese Vorgehensweise wird als Auslagerungsdatei bezeichnet und obwohl sie praktische Vorteile hat, sind Auslagerungsdateien für Hochleistungsanwendungen unerwünschter als RAM, da der Lese- und Schreibvorgang auf einer Festplatte deutlich langsamer ist.
Wenn Ihre Java-Anwendung außerdem erheblich mit der Festplatte interagiert (z. B. eine Datensicherungs- oder Synchronisierungsanwendung), kann ein Upgrade der Festplatte die Systemleistung verbessern. Beispielsweise könnten Sie für schnellere Lese- und Schreibvorgänge auf ein Laufwerk mit höherer Drehzahl upgraden. Beachten Sie jedoch, dass die schnellsten Festplatten SSDs (Solid State Drives) sind und keine beweglichen Teile enthalten. Schließlich sind einige Systeme, aber nicht alle, auch in der Lage, die CPU zu erweitern, obwohl das Upgrade nicht so einfach ist wie das RAM.
5. Erhöhen Sie die LAN- und WAN-Bandbreite
Obwohl lokale und Server-Hardware eine Schlüsselkomponente von Java-Anwendungen – einschließlich Java-Webanwendungen – ist, ist sie nicht der einzige potenzielle Engpass. Unabhängig davon, ob Sie Java-Webanwendungen lokal in einem LAN, in einem Intranet oder remote hosten, spielt die Bandbreite eine entscheidende Rolle im Hinblick auf die Verfügbarkeit und Leistung Ihrer Anwendungen – insbesondere in Zeiten hoher Auslastung.
Im Allgemeinen ist LAN-Bandbreite in der Regel reichlich vorhanden und kostengünstig, wohingegen WAN-Bandbreite teuer und knapp ist. Dennoch kann es sein, dass anderer LAN-Verkehr das lokale Netzwerk verdrängt, mit dem der Server verbunden ist, auf dem Java-Webanwendungen ausgeführt werden. Dieses Problem kann auf zwei Arten gelöst werden.
Erstens können Sie Switches und die lokale Netzwerkinfrastruktur auf eine Gigabit-Ethernet- oder 10-Gigabit-Ethernet-Lösung aufrüsten, um Netzwerküberlastungen zu verringern. Alternativ können Sie eine QoS-Richtlinie (Quality of Service) implementieren, die den Datenverkehr zum und vom Server, auf dem Java-Anwendungen gehostet werden, gegenüber anderen Datenverkehrstypen priorisiert.
Darüber hinaus können Sie nicht nur die WAN-Bandbreite erhöhen (was möglicherweise die Auswahl eines anderen ISP erfordert), sondern auch einen Lastausgleich implementieren, um redundante ISP-Verbindungen besser zu nutzen. Denken Sie daran, dass leistungsschwache Java-Anwendungen nicht unbedingt auf Softwareprobleme zurückzuführen sind und durch eine Netzwerküberlastung beeinträchtigt werden können.
6. Räumen Sie Ihr Betriebssystem auf
Betriebssysteme erfordern eine Verwaltung und Wartung, um mit Höchstleistung zu laufen und Systemressourcen effizient zu nutzen. Ein ungepflegtes Betriebssystem neigt dazu, langsamer zu werden und sich träge zu fühlen. Es kann beispielsweise sein, dass im Hintergrund viele unsichtbare Prozesse laufen, von denen Sie nicht einmal wussten.
Darüber hinaus fügt der Installationsvorgang vieler Anwendungen automatisch neue Software zur Liste der Anwendungen hinzu, die beim Start gestartet werden. Diese Anwendungen führen nicht nur dazu, dass ein System langsamer startet, sondern beanspruchen auch wichtige Systemressourcen wie RAM und CPU-Zyklen, die andernfalls zum Ausführen einer Java-Anwendung verwendet werden könnten.
Das Bereinigen notwendiger und unerwünschter Prozesse und Anwendungen hilft dabei, Ihr Betriebssystem aufzuräumen, ebenso wie das Ausführen eines Registry Cleaners auf Windows-Systemen. Ein Registry Cleaner kann DLL-Fehler und Laufzeitfehler abmildern und beseitigen, indem er fehlerhafte Einträge in der Registry entfernt und Indexstrukturen neu generiert.
Darüber hinaus ist die Defragmentierung Ihrer Festplatte eine weitere Verwaltungsaufgabe, die sparsam eingesetzt werden sollte. Da Dateien kontinuierlich auf eine Festplatte geschrieben und von dieser gelöscht werden, kann es im Laufe der Zeit zu einem riesigen, chaotischen Durcheinander kommen. Ein Defragmentierungstool fasst alle Ihre Daten zusammen und schreibt sie in zusammenhängende Blöcke um, wodurch die Zeit, die die Festplatte zum Lesen von Informationen benötigt, verkürzt wird.
Aber seien Sie gewarnt: Der Defragmentierungsprozess ist sehr anspruchsvoll und beansprucht die Festplatte. Wenn Sie es täglich, wöchentlich oder sogar monatlich defragmentieren, verkürzen Sie die Lebensdauer Ihrer Festplatte drastisch. Eine vernünftigere und praktischere Häufigkeit liegt bei etwa zwei bis drei Mal pro Jahr.
7. Setzen Sie StringBuilder ein, um die Effizienz zu steigern
Zeichenfolgen sind in den meisten Anwendungen ein häufiger Datentyp – sie sind ziemlich schwer zu vermeiden oder zu ignorieren. Leider ist die Verkettung von Zeichenfolgen ebenso ineffizient wie häufig. Es mag den Anschein haben, dass die beste Möglichkeit, Zeichenfolgen zu verketten, die Operation „+=“ ist, aber dies ist eine überstrapazierte Operation, die äußerst ineffizient ist.
Das Problem besteht darin, dass die Operation „+=“ bei jeder Verwendung eine völlig neue Zeichenfolge zuweist, wodurch viele redundante und unnötige Zeichenfolgendaten entstehen können. Obwohl die gelegentliche Verwendung dieses Vorgangs nicht dazu führt, dass Ihre Java-Anwendung zum Stillstand kommt, summiert sich jeder noch so kleine Vorgang. Stellen Sie sich vor, wie oft diese Ineffizienz in einer Schleife vergrößert werden könnte?
Glücklicherweise gibt es eine effizientere Alternative. Der StringBuilder Das Objekt wurde als effiziente Alternative zu grundlegenden Verkettungsoperationen entwickelt. Gewöhnen Sie sich an, diesen Datentyp anstelle der Lazy-Kurzform der Operation „+=“ zu verwenden, wenn Sie die Leistung von Java-Anwendungen verbessern möchten.
8. Nutzen Sie das Caching für eine verbesserte Leistung
Caching ist eine der effektivsten Möglichkeiten, die Effizienz von Java-Anwendungen zu steigern. Das Kernkonzept des Caching besteht darin, mehrere Aufrufe und Funktionen in einer wiederverwendbaren Ressource zu konsolidieren. Obwohl es viele Formen des Cachings gibt, denken die meisten Menschen beim Wort „Caching“ als Erstes an die Datenbanktechnologie.
Nicht nur die in einer Datenbank enthaltenen Daten können lokal zwischengespeichert werden, um Bandbreite zu sparen, sondern auch das hohe Volumen an Datenbankverbindungen, die andernfalls eine Anwendung verlangsamen würden. Beachten Sie jedoch, dass Caching nicht überbeansprucht werden sollte. Sie könnten intuitiv denken, dass alles zwischengespeichert werden sollte, für den Fall, dass Sie es in naher Zukunft erneut verwenden müssen. Sie müssen jedoch sicherstellen, dass die zwischengespeicherten Daten und Verbindungen zahlreich genug sind, um eine Leistungssteigerung zu erzielen.
9. Bevorzugen Sie den Stapel gegenüber dem Heap
Um die Leistung von Java-Anwendungen zu verbessern, speichern Sie Ihre Daten auf dem Stack statt auf dem Heap. Warum fragst du? Weil es den Speicher effizienter nutzt und Daten entfernt, die bereits ihren Zweck erfüllt haben. Der Stack nutzt nicht nur die Ressourcen effizienter, sondern hält auch den Overhead unter Kontrolle. Der beste Weg, den Stapel gegenüber dem Heap zu bevorzugen, besteht darin, die Instanziierung von Wrapper-Klassen zu vermeiden.
Genau wie bei der Verwendung von Rekursion ist es nicht immer machbar (oder überhaupt möglich), auf die Verwendung einer Wrapper-Klasse zu verzichten. Als allgemeine Faustregel gilt jedoch, dass Sie standardmäßig primitive Datentypen wie „int“ anstelle von „Integer“ verwenden sollten. Wie viele Leistungssteigerungen Sie mit dieser Taktik erzielen können, hängt von einer Vielzahl von Faktoren ab. Dennoch ist die Bevorzugung des Stacks ein guter Leitfaden, um den Weg zum schlanksten und effizientesten Java-Code zu finden.
Es gibt Tools auf dem Markt, die Ihnen dabei helfen, Java-Patches erfolgreich zu aktualisieren. Ein solches Tool ist SolarWinds Patch-Manager .
Sie können eine voll funktionsfähige Version herunterladen30-tägige kostenlose Testversion
Laden Sie SolarWinds Patch Manager als 30-tägige KOSTENLOSE Testversion herunter
Verwandt: Beste Patch-Management-Tools
Darüber hinaus sollten Sie sich das ansehen SolarWinds Java-Überwachungstool für Anwendungsserver mit Server- und Anwendungsmonitor um die Leistung zu verbessern. Sie können eine voll funktionsfähige Version herunterladen30-tägige kostenlose Testversion.
SolarWinds Java Monitoring Tool für Anwendungsserver mit SAM Laden Sie die 30-tägige KOSTENLOSE Testversion herunter
10. Beeinflussen Sie die Speicherverwaltung
Obwohl die Verwendung des Stacks besser ist als der Zugriff auf den Heap-Speicher, ist sie manchmal unvermeidlich. Das große Leistungsproblem liegt in der Speicherverfügbarkeit, da ein Speichermangel alle Ihre Anwendungen verlangsamt und Java-Anwendungen besonders stark vom Speicher abhängig sind.
Die JVM kümmert sich um die Freigabe von Speicher, indem sie nicht referenzierte Objekte, die nicht mehr im Gültigkeitsbereich liegen, über Garbage Collectors entfernt. Es ist jedoch ein Mythos, dass die Garbage Collection eine Blackbox ist und es keine Möglichkeit gibt, ihr Verhalten zu beeinflussen. Sie können die Heap-Größe anpassen und den Heap-Garbage-Collection-Algorithmus ändern. Es ist auch möglich, das Verhältnis der Heap-Größe der neuen Generation zur Heap-Größe der alten Generation zu ändern. Es gibt also viele Möglichkeiten, die Speicherverwaltung zu verbessern und die Häufigkeit der Erfassung von ungenutztem Speicherplatz zu ändern.
Ein großes Leistungsproblem bei Garbage Collectors besteht darin, dass sie Anwendungsthreads während Speicherfreigabevorgängen einfrieren. Daher ist es wichtig, die richtige Garbage-Collection-Strategie zu wählen, je nachdem, ob Sie Geschwindigkeit, Skalierbarkeit oder CPU-Optimierung priorisieren.
Die vier Optionen sind:
- Serieller Garbage Collector – Für eine Single-Threaded-Umgebung. Gut für die CPU-Optimierung, aber nicht gut für die Skalierbarkeit.
- Paralleler Garbage Collector – Dies ist die Standardeinstellung und für Multithread-Systeme konzipiert. Wie Serial GC friert es alle Anwendungsthreads beim Sammeln ein. Verbraucht viel CPU.
- Gleichzeitiger Mark Sweep – Entfernt selektiv Speicherhandler und gibt so Speicherplatz frei. Friert nur Prozesse ein, die auf denselben Speicherbereich zugreifen, der angepasst wird. Sehr CPU-intensiv, aber großartig für die Skalierbarkeit.
- G1 Garbage Collector – Segmentiert große Heap-Speicherplätze in Segmente. Blockiert nur Anwendungen, die versuchen, auf eine Region zuzugreifen, die erfasst wird. Gut für die CPU-Optimierung und Skalierbarkeit, verursacht aber Speicheraufwand.
Häufig gestellte Fragen zur Java-Anwendungsleistung
Wie gehen Sie mit Leistungsproblemen in Java um?
Die meisten Leistungsprobleme mit Java-Code beziehen sich nicht auf den Code selbst, sondern auf die Verfügbarkeit von Systemressourcen. Daher ist damit zu rechnen, dass nach der Veröffentlichung des Codes Probleme auftreten, die während der Entwicklung nicht entdeckt wurden. Überprüfen Sie die Leistung in jeder Phase des Systemlebenszyklus erneut.
Wie optimiert man Java-Anwendungscode?
Vermeiden Sie eine übergroße Heap-Zuweisung in Ihrem Code, indem Sie mit der minimalen Speicherzuweisung im Code beginnen und später Speicherplatz hinzufügen, wenn Sie den Eindruck haben, dass mehr Speicher erforderlich ist. Versuchen Sie, alle Verfahren zu verschärfen, die Ressourcen sperren und SQL-Datenabrufe optimieren können, indem Sie die SQL-Optimierung untersuchen – Ressourcenknappheit und Interaktionen mit anderen Systemen sind die größten Ursachen für Leistungsprobleme im Java-Code.
Verbessert die Konvertierung meiner Java-Anwendung in Node.js die Leistung?
Seien Sie vorsichtig beim Systemwechsel, insbesondere bei neuen Programmier-Frameworks, mit denen Sie nicht vertraut sind. Node.js wird für seine Geschwindigkeit gelobt, verfügt jedoch möglicherweise nicht über alle Funktionen, die Sie für Ihre Anwendung benötigen. Wenn Sie sich für Node.js interessieren, schreiben Sie zunächst eine neue Anwendung in dieser Umgebung, anstatt zu versuchen, ein vorhandenes Java-Programm zu portieren. Wenn Sie Probleme mit der Java-Leistung haben, liegt höchstwahrscheinlich ein Problem mit der Ressourcenverfügbarkeit vor, das unabhängig davon bestehen bleibt, in welchem Framework Sie den Code geschrieben haben.
Wenn Sie persönliche Geschichten oder Anekdoten zur Beschleunigung von Java-Anwendungen haben, laden wir Sie ein, unten einen Kommentar abzugeben.