Jasperviewer в Netbeans: java.lang.OutOfMemoryError: пространство кучи Java - PullRequest
0 голосов
/ 12 сентября 2009

Когда я выполняю проект в Netbeans 6.5, при просмотре отчетов (отчетов jasper) открывается jasperviewer, но не полностью. и в окне вывода он выдает исключение так:

Exception occurred during event dispatching:
java.lang.OutOfMemoryError: Java heap space
    at java.awt.image.DataBufferByte.<init>(DataBufferByte.java:58)
    at java.awt.image.ComponentSampleModel.createDataBuffer(ComponentSampleModel.java:397)
    at java.awt.image.Raster.createWritableRaster(Raster.java:938)
    at javax.imageio.ImageTypeSpecifier.createBufferedImage(ImageTypeSpecifier.java:1169)
    at javax.imageio.ImageReader.getDestination(ImageReader.java:2879)
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:943)
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:915)
    at javax.imageio.ImageIO.read(ImageIO.java:1422)
    at javax.imageio.ImageIO.read(ImageIO.java:1326)
    at net.sf.jasperreports.engine.util.JRJdk14ImageReader.readImage(JRJdk14ImageReader.java:58)
    at net.sf.jasperreports.engine.util.JRImageLoader.loadImage(JRImageLoader.java:248)
    ....

Ответы [ 4 ]

3 голосов
/ 12 сентября 2009

Дайте себе больше места в куче:

java -Xmx512m ...

для 512M и т. Д.

Netbeans даст вам возможность указать параметры виртуальной машины (из которых -Xmx влияет на использование памяти).

Еще один совет: если вы используете компилятор bean-оболочки для Jasper Reports, не делайте этого. Это огромный боров памяти и он медленный. Убедитесь, что вы используете компилятор JDT.

0 голосов
/ 12 сентября 2009

Мне нравится использовать visualgc , чтобы увидеть, что происходит, когда у меня заканчивается память. VisualGC поможет вам увидеть, какая часть памяти на самом деле является проблемой.

Вот фрагмент из вопроса о том, как установить параметры памяти в NetBeans.

http://www.experts -exchange.com / Программирование / Языки / Java / Q_21039388.html

It's been a while since I used netbeans but there is a file that is called ide.cfg

Here you can edit the line:
        -J-Xverify:none -J-Xms24m -J-Xmx96m

and make the -J-Xmx parameter to be 128 Mb like this:

        -J-Xverify:none -J-Xms24m -J-Xmx128m

On a more gerneral note: It's probably more efficient to look at the memory usage of your app. If it's doing this during development your are going to have fun with this app in production...
0 голосов
/ 12 сентября 2009

Для постоянного решения попробуйте профилировать ваше приложение с помощью профилировщика. Проверьте эту ссылку здесь

0 голосов
/ 12 сентября 2009

Попробуйте добавить аргумент JVM в настройки времени выполнения вашего проекта, чтобы увеличить объем доступного пространства кучи; например,

-mx256M

... увеличит доступную кучу до 256 мегабайт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...