去了趟sun,知道为什么了,heap,stack都有大小限制.


解决方法就是启动带开关.


-Xmx 解决heap的大小,-Xoss解决stack的大小.


当应用程序的heap,或stack到一定大小的都会报错.


其实我这个问题在java.sun.com上有讨论,有我这个问题的不在少数.


原因不是物理内存耗尽,而是jvm没有把物理内存(包括虚拟内存)利用起来.应该属于jvm的bug.