web-dev-qa-db-ja.com

RMIとはTCP接続

Javaでデスクトップアプリケーションを作成していて、メモリの最適化を行っています。そのため、JVMで実行されている2つのスレッドに遭遇しました。

RMI TCP接続

そして、両方ともかなりのヒープ成長に貢献しています(私の観点では)

今はあまり知りませんが、TCPはインターネットのようなものです。Googleで見つけたものから、シリアル化/非シリアル化に関係していますインターネット。

しかし、私のアプリケーションはインターネットを必要としないので、2つのことを知りたいと思います。

  1. それらは何であり、私のJVMで何をしていますか?
  2. どういうわけかそれらを取り除くことができますか?

enter image description here

私のツールは「Java visualVM」です。しかし、このツールを使用した結果として2つのスレッドが生成されるという私の考えを超えました。その場合、私は少し愚かになります。

14
Jake

スレッドは、JVMからのデータをリモートJMXクライアント(あなたの場合Java VisualVM))に供給するために使用されます。

いったん切り離すと、スレッドはもはやそれほど多くのデータを割り当てるべきではありません。

これを確認するには、[スレッド]タブに移動して、RMIのスレッドダンプを確認しますTCP接続スレッド。RMI操作がJMX Beanをトリガーすることがわかります。

6

RMIは、Java APIです。これにより、複数のコンピューターで同じアプリケーションの一部の実装を分割できます。プロジェクトでJava.rmiライブラリを使用しますか?

2
NetL