相关疑难解决方法(0)

如何在Mac上的IntelliJ IDEA中增加IDE内存限制?

我在Mountain Lion上使用IDEA 12 Leda.我想增加IDE可以使用的最大内存.我将Info.plist文件中的VMOptions设置为 -Xmx2048m -ea -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Xbootclasspath/a:../lib/boot.jar

当我打开IDEA时,我仍然看到最大内存为711m.

jps -v 显示我的VMOptions已加载,但它已被以下选项取代.

29388  **-Xmx2048m** -ea -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Xbootclasspath/a:../lib/boot.jar -Xms128m **-Xmx800m** -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=64m -XX:+UseCodeCacheFlushing -XX:+UseCompressedOops -Didea.paths.selector=IdeaIC12 -Dsun.java2d.noddraw=true -Didea.max.intellisense.filesize=2500 -Didea.dynamic.classpath=false -Didea.jars.nocopy=false -Dsun.java2d.d3d=false -Dapple.awt.fullscreencapturealldisplays=false -Dapple.laf.useScreenMenuBar=true -Djava.endorsed.dirs= -Dswing.bufferPerWindow=false -Didea.fatal.error.notification=enabled -Didea.cycle.buffer.size=1024 -Didea.popup.weight=heavy -Didea.xdebug.key=-Xdebug -Dapple.awt.graphics.UseQuartz=true -Dsun.java2d.pmoffscreen=false -Didea.no.launcher=false -DCVS_PASSFILE=~/.cvspass -Didea.use.default.antialiasing.in.editor=false -Dcom.apple.mrj.application.live-resize=false -Didea.smooth.progress=false
29392 Jps -Dapplication.home=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home -Xms8m
Run Code Online (Sandbox Code Playgroud)

哪里-Xmx800来的?我需要删除它.

java macos intellij-idea jvm-arguments

310
推荐指数
7
解决办法
22万
查看次数

Java堆栈溢出错误 - 如何在Eclipse中增加堆栈大小?

我正在运行一个我在Eclipse中用Java编写的程序.对于非常大的输入,该程序具有非常深的递归级别.对于较小的输入,程序运行正常但是当给出大输入时,我得到以下错误:

Exception in thread "main" java.lang.StackOverflowError
Run Code Online (Sandbox Code Playgroud)

可以通过增加Java堆栈大小来解决这个问题,如果是这样,我该如何在Eclipse中执行此操作?

更新:

@Jon Skeet

代码以递归方式遍历解析树以构建数据结构.因此,例如,代码将使用解析树中的节点执行一些工作,并在节点的两个子节点上调用自身,将它们的结果组合在一起以给出树的整体结果.

递归的总深度取决于解析树的大小,但当递归调用的数量达到1000时,代码似乎失败(没有更大的堆栈).

此外,我很确定代码没有失败,因为它适用于小输入的bug.

java eclipse stack-overflow jvm jvm-arguments

59
推荐指数
4
解决办法
14万
查看次数

正确设置IntelliJ IDEA中的堆大小

我在IntelliJ IDEA中运行Processing应用程序时遇到了这个特殊问题.我想保存一个大图像并执行此操作我遇到以下异常:

线程"动画线程"中的异常java.lang.OutOfMemoryError:java.awt.image.Raster.createPackedRaster(Raster.java:467)中java.awt.image.DataBufferInt.(DataBufferInt.java:75)的Java堆空间java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1032)在java.awt.image.BufferedImage.(BufferedImage.java:331)处理处理时的processing.core.PImage.saveImageIO(PImage.java:3117). core.PImage.save(PImage.java:3297)在OffScreenRender.stopRender(OffScreenRender.java:38)的MainVecField.draw(MainVecField.java:93)处理.处理.Cack.Papplet.handleDraw(PApplet.java:2305)at at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:243)atprocess.core.PApplet.run(PApplet.java:2176)at java.lang.Thread.run(Thread.java:724)

很明显这里有一些内存分配问题.问题是,当我更改IntelliJ中的.vmoptions文件时,我得到相同的结果,它们没有任何效果.IDE右下角的"内存"编号相应增加,但似乎不让我的应用程序分配更多内存.

当我在处理IDE中运行处理应用程序时,我可以设法通过设置较大的堆大小来保存更大的文件.

在IntelliJ中,超过256mb似乎没有什么区别.所以我的问题是如何在IntelliJ中设置更大的堆大小,允许我的应用程序分配更多的内存?

谢谢您的帮助!

我附上了我的项目的代码,以防有人想测试它:

import processing.core.*;

public class TestClassMain extends PApplet
{

    public static void main(String args[])
    {
        PApplet.main(new String[] { "--present", "TestClassMain" });
    }

    //Global variables
    OffScreenRender screenRender;
    int c = 0;

    //Variables for offScreenRender
    int resFactor = 10;
    boolean offScreenRenderSwitch = false;

    public void setup()
    {
        size(1000,700);
        background(0);
        stroke(255);

        //Initialize the render object
        screenRender = new OffScreenRender(this, 11000, 7950, resFactor);
    }

    public void draw()
    {
        frameRate(30);
        stroke(255);

        //Check if the …
Run Code Online (Sandbox Code Playgroud)

java processing intellij-idea heap-size processing-ide

11
推荐指数
1
解决办法
3万
查看次数