Ich mache eine Desktop-Anwendung in Java und mache einige Speicheroptimierungen. Das brachte mich dazu, auf zwei Threads zu stoßen, die in der JVM ausgeführt wurden, beide mit dem Namen:
RMI-TCP-Verbindung
Und sie tragen beide beträchtlich zum Haufenwachstum bei (aus meiner Sicht)
Jetzt weiß ich nicht viel, aber TCP klingt für mich so, als wäre es eine Internet-Sache. Von dem, was ich bei Google gefunden habe, hat es etwas mit Serialisierung / Deserialisierung über das Internet zu tun.
Aber meine Anwendung benötigt kein Internet, also würde ich gerne zwei Dinge wissen:
Mein Werkzeug war "Java visualVM". Es ist mir jedoch in den Sinn gekommen, dass die zwei Threads als Folge der Verwendung dieses Tools erzeugt werden. In diesem Fall fühle ich mich ein bisschen dumm.
Die Threads werden verwendet, um einen entfernten JMX-Client (in Ihrem Fall Java VisualVM) mit Daten von Ihrer JVM zu versorgen.
Sobald Sie die Verbindung getrennt haben, sollten Sie nicht mehr so viele Daten zuweisen.
Um dies zu überprüfen, können Sie auf die Registerkarte Threads gehen und sich den Thread-Dump eines RMI TCP Connection-Threads ansehen. Sie sollten sehen, dass die RMI-Operationen JMX-Beans auslösen.
Tags und Links java optimization memory heap java-threads