java outOfMemoryError mit stringbuilder

Ich bin immer ein java Fehler wegen ungenügenden Speicherplatzes, wenn ich diese Methode aufrufen - ich verwende es in eine Schleife zu analysieren, viele große Dateien in der Reihenfolge. meine Vermutung ist, dass result.toString() ist nicht immer Müll gesammelt, ordnungsgemäß während der Schleife. wenn ja, wie soll ich es beheben?

private String matchHelper(String buffer, String regex, String method){
    Pattern abbrev_p = Pattern.compile(regex);//norms U.S.A., B.S., PH.D, PH.D.
    Matcher abbrev_matcher = abbrev_p.matcher(buffer);
    StringBuffer result = new StringBuffer();
    while (abbrev_matcher.find()){
            abbrev_matcher.appendReplacement(result, abbrevHelper(abbrev_matcher));
    }
    abbrev_matcher.appendTail(result);
    String tempResult = result.toString(); //ERROR OCCURS HERE
  return tempResult;

}
  • Wie groß ist eine "große Datei"? Kann es sein, dass du einfach nicht die Zuweisung genügend Arbeitsspeicher für die JVM.
  • Fehler anzeigen text für weitere Untersuchungen.
  • wie über die Reine Zeichenfolge OString Länge: 2769348 ? Die meisten der String ist der nexString von Fotos erfasst
InformationsquelleAutor user276712 | 2010-03-12
Schreibe einen Kommentar