【发布时间】:2012-12-06 01:05:39
【问题描述】:
我正在开发一个可以在同一台计算机上同时实例化多次的应用程序。每个 JVM 都不必要地将应用程序类加载到自己的内存中,因为所有应用程序的类都是相同的。
我读到了 CDS here 和 here,但它似乎只对 JDK 类有效。
如何在 JVM 之间共享我的应用程序类的数据?
【问题讨论】:
-
在我看来就像编写一个新的类加载器并在进程之间使用共享内存。但这比购买更多的 ram 更痛苦。
-
“但它似乎只对 Java 类有效”,还有什么需要跨 JVM 共享?
-
@SwapnilS 这不是我的意思,抱歉解释不好。我想说的是它只共享 JDK 类。我将编辑问题。
-
你的目标是什么?减少内存占用?
-
这可以通过将代码导出到系统共享库(dll,so)来实现,这在大多数情况下可能不适用。
标签: java jvm shared-memory