所以,让我们说我有一个
String s = "{(30,2884090,1410450570357,235),(30,2863348,1410451100148,285)}";
Matcher match = Pattern.compile("(\\d+,)*\\d+").matcher(s);
所以问题有时候,String s太大了,我得到堆错误:
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Arrays.java:2694)
at java.lang.String.<init>(String.java:203)
答案 0 :(得分:1)
您无法将其作为例外处理。您可能宁愿:
答案 1 :(得分:0)
看看here,它是处理不同类型的OOM(内存不足)异常和字符串的一个很好的资源。它显示了如何使用concatenation(简单但容易引发错误!)或StringBuffer(一个优化的解决方案)
此外,如果需要,可以使用-Xmx command, some helpful hints here
增加可用堆大小