0

我有一个使用 Java 5 从文件系统加载多个序列化对象的函数FutureTask。我的电脑内存应该不是问题。

如果我在 main 方法中调用该函数,一切正常,但如果我从init()a 或 astatic block中调用该函数,HTTPServlet我会得到各种OutOfMemoryException(通常是 Java 堆空间)......

有谁知道为什么通过使用 Servlet 我最终会遇到这个问题?FutureTasks 和 Servlet 可以以任何方式发生冲突吗?我可以做些什么来理解/解决这个问题?

4

1 回答 1

1

那么您的计算机内存和您的 JVM 内存可能是非常不同的东西(开箱即用的 JVM 仅分配 64Mb 的 RAM(取决于 JVM)。但是,如果没有一些具体的代码或示例数据大小,很难确切知道问题出在哪里在你的情况下 。HTTPServlet没有被标记为非线程安全的。你能提供任何代码来说明你的问题吗?

于 2012-09-18T21:39:15.517 回答