java.lang.OutOfMemoryError,即使有足够的可用RAM
我试图以编程方式在eclipse中打开一个文件。文件的关联编辑器是在一个外部插件中定义的,我无法控制源代码 我使用下面显示的代码片段打开该文件。然而我总是 异常:java.lang.OutOfMemoryError从线程“AWT Windows”中的UncaughtExceptionHandler引发 我试图增加eclipse运行配置的可用内存,但没有帮助。你知道这是什么原因吗java.lang.OutOfMemoryError,即使有足够的可用RAM,java,eclipse,eclipse-plugin,out-of-memory,eclipse-rcp,Java,Eclipse,Eclipse Plugin,Out Of Memory,Eclipse Rcp,我试图以编程方式在eclipse中打开一个文件。文件的关联编辑器是在一个外部插件中定义的,我无法控制源代码 我使用下面显示的代码片段打开该文件。然而我总是 异常:java.lang.OutOfMemoryError从线程“AWT Windows”中的UncaughtExceptionHandler引发 我试图增加eclipse运行配置的可用内存,但没有帮助。你知道这是什么原因吗 private void openFiles(final IPath filePath ) { Pla
private void openFiles(final IPath filePath ) {
PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
@Override
public void run() {
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IFile iFileInput = workspace.getRoot().getFileForLocation(filePath);
IEditorInput editorInput = new FileEditorInput(iFileInput);
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage page = window.getActivePage();
try {
iFileInput.refreshLocal(IResource.DEPTH_INFINITE, null);
} catch (CoreException e1) {
e1.printStackTrace();
}
try {
String editorID = "xxxxx";
IDE.openEditor(page, editorInput, editorID);
} catch (PartInitException e) {
e.printStackTrace();
}
}
});
}
你在猜测,没有数据 找一个像VisualVM这样的分析器,看看内存是怎么回事
JavaVM使用分代内存模型。您可以充分设置大量的物理RAM和堆空间,但如果perm gen填满,仍然会出现OOM错误。查看是否发生了这种情况。尝试增加堆内存大小: 如果您开始使用命令行
java -Xms<initial heap size> -Xmx<maximum heap size>
向我们展示完整的stacktrace。
-Xms1024m
-Xmx1024m
-XX:MaxPermSize=256M