我正在尝试在我的一个项目中使用 Portico,以便在多台机器上运行的同一应用程序的多个实例之间通过网络共享对象。
我正在使用 Windows 7 64 位。
所以假设有3种对象。甲、乙、丙。
Obj A 的大小约为:300 字节 Obj B 的大小约为:700 字节 Obj C 的大小约为:1200 字节
我能够在应用程序之间共享 objA 和 objB。但是,一旦我共享 objC,它就会在日志中引发错误:发送长度为 1213 字节的消息时出错。java.lang.OutOfMemoryError java 堆空间。
我还在 VirtualVM 中跟踪我的应用程序的堆大小。以下是我检索到的信息。
发送 objA 时: 最大堆大小:64 MB 堆大小:2.5 MB 已用堆:1.8 MB
发送 objB 时: 最大堆大小:64 MB 堆大小:2.5 MB 已用堆:2.0 MB
注意这里:堆大小达到 64 KB,但使用的堆大小几乎保持不变。
发送 objC 时: 最大堆大小:64 MB 堆大小:64 MB 已用堆:2.0 KB
因此,我尝试使用以下命令增加堆大小:
java -Xms1024m -Xmx1024m -jar portico.jar
但随后它抛出错误:错误:无法找到或加载主类 org.portico.rti.Main
然后我尝试在 Windows 7 64 位上编译 portico,它给了我一些与 JVM 相关的链接错误。我正在使用最新的 JDK 1.7。我使用的是服务器虚拟机,因为客户端虚拟机在 64 位中不可用。
所以我尝试使用客户端 VM 在 32 位 Windows 7 上构建门廊。它构建成功,但我再次无法在codebase\build\java\classes\org\portico\rti\Main.class中找到 Main 类文件。因此,当我尝试使用与上面相同的命令以及 classpath 时:
java -cp ......\build\java\classes -Xms1024m -Xmx1024m -jar portico.jar
它再次抛出相同的错误:错误:无法找到或加载主类 org.portico.rti.Main
我该如何解决这个问题。这让我快疯了。请帮帮我。