How can I avoid a Java out-of-memory error when creating GUI using GUIDE?

2 views (last 30 days)
[EDIT: 20110621 17:15 CDT - reformat - WDR]
Exception in thread "Timer-1" java.lang.OutOfMemoryError: Java heap space
at java.lang.String.toLowerCase(Unknown Source)
at java.io.Win32FileSystem.hashCode(Unknown Source)
at java.io.File.hashCode(Unknown Source)
at java.util.HashMap.get(Unknown Source)
at com.mathworks.mlwidgets.explorer.control.DocumentContextImpl.getDocumentChanges(DocumentContextImpl.java:462)
at com.mathworks.mlwidgets.explorer.control.DocumentContextImpl.refreshContents(DocumentContextImpl.java:569)
at com.mathworks.mlwidgets.explorer.control.RefreshDaemon$2.run(RefreshDaemon.java:104)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
at java.lang.AbstractStringBuilder.<init>(Unknown Source)
at java.lang.StringBuilder.<init>(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI.getInputMap(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI.installKeyboardActions(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI.installUI(Unknown Source)
at javax.swing.JComponent.setUI(Unknown Source)
at javax.swing.text.JTextComponent.setUI(Unknown Source)
at javax.swing.text.JTextComponent.updateUI(Unknown Source)
at com.mathworks.hg.peer.EditTextPeer$hgTextField.updateUI(EditTextPeer.java:559)
at com.mathworks.hg.peer.EditTextPeer$hgTextField.setText(EditTextPeer.java:571)
at com.mathworks.hg.peer.EditTextPeer.doSetString(EditTextPeer.java:126)
at com.mathworks.hg.peer.AbstractUicontrolPeer$11.run(AbstractUicontrolPeer.java:552)
at com.mathworks.hg.util.HGPeerQueue$HGPeerRunnablesRunner.runit(HGPeerQueue.java:228)
at com.mathworks.hg.util.HGPeerQueue$HGPeerRunnablesRunner.runNotThese(HGPeerQueue.java:260)
at com.mathworks.hg.util.HGPeerQueue$HGPeerRunnablesRunner.run(HGPeerQueue.java:276)
at java.awt.event.InvocationEvent.dispatch(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
  2 Comments
Gerd
Gerd on 21 Jun 2011
Hi Maria,
could you please explain a little bit what you are doing. It looks like using a timer
Maria
Maria on 21 Jun 2011
I am using the timer to check how much time my calculations need to be conducted.I made this tool in matlab that basically calculates energy needs..it also does some kind of optimization but it has a lot of 'for' loops..

Sign in to comment.

Accepted Answer

Friedrich
Friedrich on 21 Jun 2011
Hi Maria,
please try to increase your java heap space from MATLAB. You can find this option under File -> Preferences -> General -> Java Heap Memory. Please make a restart of MATLAB after changing this value.
  4 Comments
Friedrich
Friedrich on 10 Nov 2011
2010a and higher having this options in the Preferences. For older Mls one has to create a java.opts file. How to do this can be found here:
http://www.mathworks.com/support/solutions/en/data/1-18I2C/index.html

Sign in to comment.

More Answers (0)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!