Flata de memoria

18 respostas
oitathi

eu gostaria de saber pq quando eu tento criar uma imagem maior do que 12 MB acontece esse erro:

"      Exception in thread “AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap space

at java.awt.image.DataBufferByte.(DataBufferByte.java:42)

at java.awt.image.Raster.createInterleavedRaster(Raster.java:253)

at java.awt.image.Raster.createInterleavedRaster(Raster.java:194)

at java.awt.image.BufferedImage.(BufferedImage.java:549)   "

Não tem como aumentar esse espaço de buffer?

18 Respostas

E

Passe o parâmetro -Xmx ao Java . Procure por isso aqui no GUJ mesmo.

oitathi

Como eu devo fazer isso?
procurei aqui no guj e não encontrei… vc pode me passar a linha de código?
Obrigada

E

Digamos que você use o seguinte comando para iniciar seu programa:

java -jar SeuPrograma.jar

No seu caso, você passaria, antes da opção -jar, o valor máximo da memória que seu programa pode usar. Por exemplo, no seu caso poderia ser 128 MB:

java -Xmx128m -jar SeuPrograma.jar

Você não deve dar um duplo-clique no JAR para iniciar seu programa. O que ocorre é que, em uma máquina com 1GB ou menos de memória, o Java, se chamado diretamente por um duplo-clique no JAR, inicia apenas com 64 MB de memória, o que normalmente é muito pouco para você criar uma imagem maior que 12MB (que é o seu caso).

oitathi

gente eu to fazendo assim:
echo
java -Xmx128m- jar airport2.jar
pause

o probema eh q dah a amensagem:
Invalid maximum heap size: - Xmx128m-
Could not create the java virtual machine

E agora?

ViniGodoy

Um parâmetro é
-Xmx128m

outro parâmetro é
-jar

Observe que vc deixou o - do -jar grudado no m do -xmx128m

É só colocar o espaço no lugar certo que funciona.

Marky.Vasconcelos

E se seu problema é enquanto roda pela IDE, no Eclipse é possivel nas “run configurations” colocar os parametros que devem ser passados para a JVM em uma das abas lá.

Já no NetBeans não tenho idéia.

oitathi

O meu problema é quando eu executo o jar. Eu criei o .bat e funcionou. Ele foi criado do seguinte jeito:
echo
java -Xmx512m -jar airport2.jar
pause
Porém, agora estou com dois problemas:

  1. Tanto o meu .bat quanto meu .jar estão no meu desktop, mas eu não sei onde o usuário vai colocar esses dois arquivos. Caso ele coloque em lugares diferentes, o .bat não vai encontrar o .jar e então não vai funcionar.

2)Quando eu executo o .bat e o .jar abre, fica uma janela minimizada do “dos” na minha area de trabalho, o que deixa o ambiente muito feio. Não tem como o usuario clicar no .bat e o programa abrir como um .exe, sem que fique essa janela do .bat minimizada na tela?

Obrigada!!!

oitathi

e se eu quiser jogar o xmx como segundo parametro? posso? como?

oitathi

genete como eu seto o xmx do java no bat com start?
eu coloquei:

start airport2.jar “Xmx512m”

mas não funcionou…

aproveitando… se que quiser usar o camando start mas passar o xmx como segundo parametro, como eu faria?

obrigada

E

start java -jar -Xmx512m airport2.jar

oitathi

Obrigada pela resposta, mas falat uma coisinha:
eu tô com o seguinte bat:
start airport2.jar “%1”

ele tah funcionando, mas…

eu preciso com o parametro xmx512… como eu faço? ou seja, quero passar dois parametros ao java: o primeiro q é o %1 jah atah funcionando, agora falta eu mudar a configuração da maquina virtual… eu tentei:

start java -jar %1 -Xmx512m airport2.jar

e não funciounou…

E

start java -Xmx512m -jar airport2.jar %1

lina

Oi,

O %1 após o .jar significa o teu ARGS do método main. Não tem como coloca-lo antes, apenas depois. (Eu acho)

Tchauzin!

oitathi

eu coloquei:

start javaw -Xmx512m -jar mapTest.jar "%1"

coloquei o javaw pra tela do prompt desaparecer, correto?
Agora uma duvida: o meu bat vai ter q estar sempre na mesma pasta do jar?? qual seria a melhor solução (a solução mais bonita) pra instalar isso na maquina do usuario?

E

Para instalar na máquina do usuário, crie um instalador que cria um atalho no menu Iniciar para seu programa.
Aí esse atalho pode conter quaisquer instruções e opções que forem necessárias para disparar o programa.
Use um programa qualquer que cria instalações, como o IzPack.

oitathi

ah sim, vou pesquisar sobre esse IzPack.
Mas soh uma duvida, o bat funciona tanta na minha máquina como em uma segunda maquina, mas quando testei em uma terceira maquina, da mesma forma, ou seja, como bat e o jar na mesma pasta deu esse erro: unable to access to jarFile airport2.jar
Vc sabe o q tah acontecendo?
Obrigada

oitathi

Cara, eu tô com uma duvida, como eu faço para ele instalar o bat junto com o jar?
pq eu tô seguindo um tutorial q diz:
Digite compile install.xml -b . -o install.jar -k standard.

mas eu acredito q eu deva colocar o meu bat tb…

vc pode me ajudar?

lina

oitathi:
eu coloquei:

start javaw -Xmx512m -jar mapTest.jar "%1"

coloquei o javaw pra tela do prompt desaparecer, correto?
Agora uma duvida: o meu bat vai ter q estar sempre na mesma pasta do jar?? qual seria a melhor solução (a solução mais bonita) pra instalar isso na maquina do usuario?

Oi,

Você pode simplesmente passar o caminho:

start javaw -Xmx512m -jar C:\Temp\mapTest.jar %1

E para o %1 funcionar, basta gerar um atalho do .BAT na area de trabalho…

Tchauzin!

Criado 11 de novembro de 2010
Ultima resposta 1 de dez. de 2010
Respostas 18
Participantes 5