慢速网络上的Java服务器内存管理
我正在编写一段代码,生成一个大型XML文档,并使用StAX XmlStreamWriter将其直接写入客户机流。 我担心,如果网络变得非常慢,写入流中的字节实际上会在内存缓冲区中停留相当长的时间,并消耗我服务器上的大量内存慢速网络上的Java服务器内存管理,java,networking,Java,Networking,我正在编写一段代码,生成一个大型XML文档,并使用StAX XmlStreamWriter将其直接写入客户机流。 我担心,如果网络变得非常慢,写入流中的字节实际上会在内存缓冲区中停留相当长的时间,并消耗我服务器上的大量内存 我的问题是:是否有任何方法可以继续直接写入客户端流,并避免我上面描述的潜在内存问题?如果生成速度更快,则可以将其流式输出到内存中。如果这确实成为一个主要问题,您需要寻找一种将其移出内存的方法,例如生成一个文件,但仍然需要通过某种方式加载和流式传输。一个文件的主要优点是,如果您
我的问题是:是否有任何方法可以继续直接写入客户端流,并避免我上面描述的潜在内存问题?如果生成速度更快,则可以将其流式输出到内存中。如果这确实成为一个主要问题,您需要寻找一种将其移出内存的方法,例如生成一个文件,但仍然需要通过某种方式加载和流式传输。一个文件的主要优点是,如果您可以对许多请求重复使用该文件。如果您生成的速度更快,那么您就不可能将其流式输出到内存中。如果这确实成为一个主要问题,您需要寻找一种将其移出内存的方法,例如生成一个文件,但仍然需要通过某种方式加载和流式传输。文件的主要优点是,您可以将文件重新用于许多请求。我想说的是,除非您确实知道自己有内存问题,否则不要寻求优化。操作系统管理流及其缓冲区。在Java中没有什么可以影响这一点。你也不应该在意;在你之前,TCP/IP流已经为数十万程序员工作过。我要说的是,除非你确定自己有内存问题,否则不要寻求优化。操作系统管理流及其缓冲区。在Java中没有什么可以影响这一点。你也不应该在意;TCP/IP流在你之前已经为数十万程序员工作过。是的,这是我知道的最好的选择,但我希望有人能带来某种魔力:)是的,这是我知道的最好的选择,但我希望有人能带来某种魔力:)