Javaでデスクトップアプリケーションを作成していて、メモリの最適化を行っています。そのため、JVMで実行されている2つのスレッドに遭遇しました。
RMI TCP接続
そして、両方ともかなりのヒープ成長に貢献しています(私の観点では)
今はあまり知りませんが、TCPはインターネットのようなものです。Googleで見つけたものから、シリアル化/非シリアル化に関係していますインターネット。
しかし、私のアプリケーションはインターネットを必要としないので、2つのことを知りたいと思います。
私のツールは「Java visualVM」です。しかし、このツールを使用した結果として2つのスレッドが生成されるという私の考えを超えました。その場合、私は少し愚かになります。
スレッドは、JVMからのデータをリモートJMXクライアント(あなたの場合Java VisualVM))に供給するために使用されます。
いったん切り離すと、スレッドはもはやそれほど多くのデータを割り当てるべきではありません。
これを確認するには、[スレッド]タブに移動して、RMIのスレッドダンプを確認しますTCP接続スレッド。RMI操作がJMX Beanをトリガーすることがわかります。
RMIは、Java APIです。これにより、複数のコンピューターで同じアプリケーションの一部の実装を分割できます。プロジェクトでJava.rmiライブラリを使用しますか?