Hallo,
ich arbeite an einem Program zur Textanalyse. Nach mehrmaligen bearbeiten eines Textes taucht eine Java heap Space Exception auf. Es gab davor schon einige die ich beseitigen konnte jedoch bin ich nun fraglos.
Hier nur ein Auszug aus dem Quelltext, da dieser etwas lang ist :rtfm:.
Die Exception tritt bei "String [] tempArray = buff.toString().split(" ");" auf, meist nachdem der 3te Text eingelesen wurde bzw. die 3te Analyse durchgeführt wurde.
Ich hoffe jemand hat Ideen oder kann mir helfen. :reflect:
mfg
ich arbeite an einem Program zur Textanalyse. Nach mehrmaligen bearbeiten eines Textes taucht eine Java heap Space Exception auf. Es gab davor schon einige die ich beseitigen konnte jedoch bin ich nun fraglos.
Java:
private void analyse() {
jTextPane.selectAll();
if(!isClear){
protectTheHeapSpace.clear();
}
StringBuffer buff = new StringBuffer(jTextPane.getText());
// Wegfiltern von Zeichen, sodass nur Buchstaben vorhanden sind.
for (int i = 0; i < buff.length(); i++) {
if (!Character.isLetter(buff.charAt(i))) {
buff.replace(i, i + 1, " ");
}
}
// Wörter in die Array Zellen kopieren
String [] tempArray = buff.toString().split(" ");
// Leerzeichen eliminieren
for (int j= 0; j< tempArray.length;j++){
tempArray[j]= tempArray[j].trim();
}
// den Vecotor füllen
protectTheHeapSpace.setSize(tempArray.length);
for (int k = 0; k< tempArray.length; k++) {
protectTheHeapSpace.setElementAt(tempArray[k], k);
}
int tempArrayLength = tempArray.length;
// Vectoren ohne "Wörter" löschen
for (int k = 0; k< tempArrayLength; k++) {
if(protectTheHeapSpace.elementAt(k).toString().isEmpty()){
protectTheHeapSpace.removeElementAt(k);
tempArrayLength--;
k--;
}
}
Hier nur ein Auszug aus dem Quelltext, da dieser etwas lang ist :rtfm:.
Java:
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
at java.util.regex.Pattern.split(Unknown Source)
at java.lang.String.split(Unknown Source)
at java.lang.String.split(Unknown Source)
at Gui.analyse(Gui.java:274)
at Gui.access$0(Gui.java:259)
at Gui$4.actionPerformed(Gui.java:223)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Die Exception tritt bei "String [] tempArray = buff.toString().split(" ");" auf, meist nachdem der 3te Text eingelesen wurde bzw. die 3te Analyse durchgeführt wurde.
Ich hoffe jemand hat Ideen oder kann mir helfen. :reflect:
mfg