什么是RMI TCP连接

Jak*_*ake 14 java memory heap optimization java-threads

我正在用java创建一个桌面应用程序,并且正在做一些内存优化.这让我遇到了在JVM中运行的两个线程,两个线程都命名为:

RMI TCP连接

他们都非常有助于堆增长(从我的角度来看)

现在我不太了解,但TCP听起来像是一些互联网的东西.从我在谷歌上找到的,它与互联网上的序列化/反序列化有关.

但我的应用程序不需要互联网,所以我想知道两件事:

  1. 它们是什么以及它们在我的JVM中做了什么?
  2. 我可以以某种方式摆脱它们吗?

在此输入图像描述

我的工具是"Java visualVM".虽然我已经想到这两个线程是由于使用这个工具而产生的,在这种情况下我会觉得有点愚蠢.

Gre*_*lis 6

这些线程用于向JVM提供远程JMX客户端(在您的案例中为Java VisualVM).

一旦断开线程,就不应再分配这么多数据了.

要验证这一点,您可以转到"线程"选项卡并查看RMI TCP连接线程的线程转储.您应该看到RMI操作触发JMX bean.