Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.OutOfMemoryError,即使有足够的可用RAM_Java_Eclipse_Eclipse Plugin_Out Of Memory_Eclipse Rcp - Fatal编程技术网

java.lang.OutOfMemoryError,即使有足够的可用RAM

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

我试图以编程方式在eclipse中打开一个文件。文件的关联编辑器是在一个外部插件中定义的,我无法控制源代码

我使用下面显示的代码片段打开该文件。然而我总是

异常:java.lang.OutOfMemoryError从线程“AWT Windows”中的UncaughtExceptionHandler引发

我试图增加eclipse运行配置的可用内存,但没有帮助。你知道这是什么原因吗

    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