Compilefile.this.compileThread = new Thread() {
@Override
public void run() {
try {
synchronized (this) {
Application.getDBHandler().setAutoCommit(false);
MIBParserUtils.getDefaultMibsMap();
compileSelectedFiles();
Application.getDBHandler().CommitTrans();
Application.getDBHandler().setAutoCommit(true);
}
}
catch(OutOfMemoryError exp) {
JOptionPane.showMessageDialog(null, "Compilation Stopped.. Insufficient Memory!!!");
CompileMib.this.compileThread.interrupt();
System.gc();
dispose();
NmsLogger.writeDebugLog(exp);
}
finally {
}
}
Я попытался скомпилировать некоторые файлы в потоке. Пользовательский интерфейс выбирает более 200 файлов для компиляции. Во время компиляции произошло OutOfMemoryError
из-за нехватки памяти в Eclipse. Я хочу остановить поток и отобразить окно сообщения и разместить окно компиляции в своем приложении. Я написал приведенный ниже код, но он не работает. Могу ли я поймать исключение и обработать его, или есть лучшее решение?
byte[] bytes = new byte[64*1024];
внутрь блока try/catch. - person Peter Lawrey   schedule 26.09.2012