http://java.chinaitlab.com/base/787078.html
引用里面的内容“程序中造成内存溢出可能性最大的是HashMap,Hashtable等等集合类,尤其是静态的,更是要慎之又慎!!!它们引用的对象可能你感觉已经销毁了,其实很可能你忘记remove键值,而如果这些集合对象还是静态的挂在其他类里面,那么这个引用可能一直都在,借用JProbe测试一下,结果往往出人意料,解决办法:彻底删除键,remove、clear,如果允许最好把集合对象设为null”
这跟collection容量没什么关系,在于你设置的JVM的大小,根据你述说的,应该是你java堆造成的内存溢出,140000个对象把java堆占满了,当然就内存溢出了。你可以把JVM的堆的-Xmx设置大一些
理论上来说只要你内存够大,然后JVM的Xmx参数设置的非常大,那么就没有什么Collection内存限制了,但是内存一旦非常大,会造成GC的压力很大,服务器的性能也会急剧下降