根据这篇文章:
java.lang.OutOfMemoryError有两种可能的原因:无法创建线程消息:
- 正在运行的线程太多,并且系统用尽了内部资源来创建新的线程。
- 系统已用完本机内存以用于新线程。线程需要用于内部JVM结构,Java™堆栈和本地堆栈的本地内存。
因此,此错误可能与内存完全无关,只是创建了太多线程…
编辑:
由于拥有695个线程,因此需要695倍的堆栈大小作为内存。考虑到这篇关于线程限制的文章,我怀疑您正在尝试为可用的虚拟内存空间创建太多线程。

根据这篇文章:
java.lang.OutOfMemoryError有两种可能的原因:无法创建线程消息:
- 正在运行的线程太多,并且系统用尽了内部资源来创建新的线程。
- 系统已用完本机内存以用于新线程。线程需要用于内部JVM结构,Java™堆栈和本地堆栈的本地内存。
因此,此错误可能与内存完全无关,只是创建了太多线程…
编辑:
由于拥有695个线程,因此需要695倍的堆栈大小作为内存。考虑到这篇关于线程限制的文章,我怀疑您正在尝试为可用的虚拟内存空间创建太多线程。