Gibt es irgendwelche Leistungseinbußen, wenn Sie einen Java-Prozess mit Remote-Debugging über jdwp/socket aktiviert und kein externer Prozess verbindet verbindet? Ich verstehe, dass es einen signifikanten Treffer gibt, wenn ein Remote-Client tatsächlich debuggt, aber wenn ich einfach jdwp an einem bestimmten Port deklariere, wird das allein die App verlangsamen? Alle Links zur Dokumentation würden sehr geschätzt werden.Java Remotedebugging - Leistung
Antwort
Nein, indem Sie nur den Debugging-Port aktivieren, hat keinen Einfluss auf die Laufzeitleistung, solange kein externer Prozess eine Verbindung herstellt.
JDWP ist das Protokoll für die Kommunikation zwischen einem Debugger und der Java Virtual Machine (VM), die debuggt. JDWP ist optional.
JDWP Start Up - Nachdem die Transportverbindung wird aufgebaut, bevor irgendwelche Pakete gesendet werden, wird ein Handshake tritt zwischen den beiden Seiten der Verbindung:
Das Handshake-Verfahren hat die folgenden Schritte:
- Die Debugger-Seite sendet 14 Byte an die VM-Seite, bestehend aus den 14 ASCII-Zeichen der Zeichenfolge "JDWP-Handshake".
- Die Seiten VM Antworten mit dem gleichen 14 Bytes: JDWP-Handshake
In Java SE 1.4 die Java HotSpot Virtual Machine verwendet jetzt "Full-Speed-Debugging"
In der vorherige Version HotSpot, wenn das Debugging aktiviert wurde, wurde das Programm nur mit dem Interpreter ausgeführt. Jetzt ist der volle Leistungsvorteil der HotSpot-Technologie für Programme verfügbar, die mit aktiviertem Debugging laufen. Die verbesserte Leistung ermöglicht es, lange laufende Programme leichter zu debuggen. Es ermöglicht auch bei voller Geschwindigkeit ablaufen Tests und die Einführung eines Debuggers auf eine Ausnahme auftreten:
Weitere Details JDWP Verbesserungen in Bezug auf, bitte http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdwp-spec.html
sehen- 1. Google Chrome Remotedebugging lokale Domäne
- 2. Java IO Leistung Ausgabe
- 3. Java Endlosschleife Leistung
- 4. Java HashSet Leistung
- 5. Java: getInstance() Singleton Leistung
- 6. Java generische Schnittstelle Leistung
- 7. Java Robot createScreenCapture Leistung
- 8. Java-Frequenzanalyse-Leistung
- 9. Java for-Schleife Leistung
- 10. Java Marshaller Leistung
- 11. Java printf Leistung
- 12. Java Encryption Leistung
- 13. Java ListIterator Leistung
- 14. Java Filter Leistung Frage
- 15. Java padding Leistung Zerschlagung
- 16. Java Jump'n'Run Spiel Leistung
- 17. Leistung von Java Optional
- 18. Java PreparedStatements isClosed Leistung
- 19. Java - POI - Leistung
- 20. Java 8 Leistung VS. Java 7
- 21. Java hashmap vs hashset Leistung
- 22. Java Multithread-Datei Download-Leistung
- 23. LinkedList Update-Leistung in Java
- 24. Java Deadlock verschlechtert die Leistung
- 25. MongoDb Java-Treiber-Projektion Leistung
- 26. Put-Leistung - Hbase-Java-Client
- 27. Raising Anzahl fraktioniert Leistung java
- 28. Remotedebugging NodeJS in Docker mit Visual Studio-Code
- 29. Remotedebugging einer ASP.NET Core 1.0-Anwendung auf Azure App Service
- 30. Java Priorityqueue Entfernung von beliebigen Elementen -leistung