什么是 RMI TCP 连接
what is RMI TCP connection
我正在 java 中制作桌面应用程序并进行一些内存优化。这让我在 JVM 中遇到了两个线程 运行,都命名为:
RMI TCP 连接
而且它们都对堆增长做出了相当大的贡献(在我看来)
现在我知道的不多,但 TCP 对我来说听起来像是一些互联网的东西。根据我在 google 上设法找到的内容,它与互联网上的 serialization/deserialization 有关。
但是我的应用程序不需要互联网,所以我想知道两件事:
- 它们是什么以及它们在我的 JVM 中做什么?
- 我能以某种方式摆脱它们吗?
我的工具是"Java visualVM"。虽然我想到了两个线程是由于使用这个工具而产生的,在这种情况下我会觉得有点愚蠢。
RMI 是一个 Java API,它允许您在多台计算机上划分同一应用程序的各个部分的实现。
您在项目中使用 java.rmi 库吗?
线程用于将来自 JVM 的数据提供给远程 JMX 客户端(在您的情况下 Java VisualVM)。
断开连接后,线程不应再分配那么多数据。
要验证这一点,您可以转到“线程”选项卡并查看 RMI TCP 连接线程的线程转储。您应该看到 RMI 操作触发了 JMX bean。
我正在 java 中制作桌面应用程序并进行一些内存优化。这让我在 JVM 中遇到了两个线程 运行,都命名为:
RMI TCP 连接
而且它们都对堆增长做出了相当大的贡献(在我看来)
现在我知道的不多,但 TCP 对我来说听起来像是一些互联网的东西。根据我在 google 上设法找到的内容,它与互联网上的 serialization/deserialization 有关。
但是我的应用程序不需要互联网,所以我想知道两件事:
- 它们是什么以及它们在我的 JVM 中做什么?
- 我能以某种方式摆脱它们吗?
我的工具是"Java visualVM"。虽然我想到了两个线程是由于使用这个工具而产生的,在这种情况下我会觉得有点愚蠢。
RMI 是一个 Java API,它允许您在多台计算机上划分同一应用程序的各个部分的实现。 您在项目中使用 java.rmi 库吗?
线程用于将来自 JVM 的数据提供给远程 JMX 客户端(在您的情况下 Java VisualVM)。
断开连接后,线程不应再分配那么多数据。
要验证这一点,您可以转到“线程”选项卡并查看 RMI TCP 连接线程的线程转储。您应该看到 RMI 操作触发了 JMX bean。