内存不足java堆大小

1 java sockets nio

http://www.coderpanda.com/java-socket-programming-transferring-large-sized-files-through-socket/

上述链接中的代码正在运行,但可以传输一定数量的数据.当我试图传输大小约为334 MB的格式为.mkv的电影时,它给出了"内存不足,java堆大小"的错误.我是一个初学者,我不知道如何解决这个问题我试图增加客户端程序中的缓冲区大小但问题仍然存在.请帮我.

Ste*_*n C 6

问题是这一行:

byte[] readBuffer = new byte[1024 * 100000];
Run Code Online (Sandbox Code Playgroud)

那就是分配一个大约100兆字节的缓冲区......这个缓冲区很大.

要么减少它(10或100倍),要么运行更大堆的应用程序.

(@Aaron Digulla和@ Holger上面的评论也是合适的.这真的不是人们所谓的"高质量"代码......)