在JVM之间共享类

Dan*_*ira 7 java jvm shared-memory

我正在开发一个可以同时在同一台计算机上多次实例化的应用程序.每个JVM都不必要地在自己的内存中加载应用程序类,因为所有应用程序的类都是相同的.

在这里这里读到了CDS ,但它似乎只对JDK类有效.

如何在JVM之间共享应用程序类的数据?

Mar*_*uez 3

我并不是特别了解这个主题,但我做了一些研究。我认为我们可以相当肯定地说,这在大多数 JVM 中实际上是不可能的。下面的问题与您的问题类似,它的答案和评论可能会有所帮助。

多个JVM进程可以共享公共类的内存吗?

一种可能的选择是,您可以将想要共享的类放在一个进程中,并使用 JMX(Java 管理扩展)之类的工具公开它们的功能。这样,多次加载的其他进程就不必加载所有类。但这可以减少多少总资源占用当然是值得怀疑的,并且取决于具体情况。