【发布时间】:2015-08-02 19:56:26
【问题描述】:
我正在开发一个网络应用程序,它可以读取 > 50MB 的超大文件并显示它。 Java Spring 后端将使用 CXF 读取这些文件及其内容。我的问题是,在读取一个 50 兆字节的文件后,已用堆的大小增加了 500 兆字节。我将此文件作为字符串读取,此字符串将被发送到前端。有什么想法,技巧如何减少Java堆的使用?我尝试了 spring 的 Resource 类 nio,但没有任何帮助。
【问题讨论】:
-
您是否尝试过操纵虚拟机选项?
-
如果您只是读取文件并将其发送到前端,那么要么使其静态可访问,要么使用读写循环而不是填充字符串。如果没有,那么您需要发布您的程序的要点,以便我们了解您的问题。
标签: java spring file-io heap-memory