java - 什么是 RMI TCP 连接

标签 java optimization memory heap-memory java-threads

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

RMI TCP 连接

它们都对堆增长做出了相当大的贡献(在我看来)

现在我知道的不多,但 TCP 对我来说听起来像是一些互联网的东西。从我在谷歌上找到的内容来看,它与互联网上的序列化/反序列化有关。

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

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

enter image description here

我的工具是“Java visualVM”。我突然想到这两个线程是由于使用此工具而产生的,在这种情况下我会觉得有点愚蠢。

最佳答案

线程用于为远程 JMX 客户端(在您的情况下为 Java VisualVM)提供来自 JVM 的数据。

一旦你断开线程不应该再分配这么多的数据。

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

关于java - 什么是 RMI TCP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40793580/

相关文章:

c# - ClosestIndexOf 的最简单实现

sql - 优化大表 MySQL 上的 ORDER BY 查询

php - 使用php将大量数据写入Excel没有内存限制错误

C++ vector 动态内存释放/删除

java - 为什么 Joshua Bloch 在有效 java 的 pop 方法中递减堆栈的 "size"值?

Java 字符串池测试不起作用

java - 检测在多进程应用程序的主进程上运行的应用程序类

c# - WPF 程序在一台计算机上启动速度超快,但在另一台计算机上启动速度超慢

c - 减少特定数据的内存占用

java - 创建顶部和底部有点的六边形