Heap de Aplicação

Olá!
Para aumentar o heap de uma aplicação:

java -jar -Xms1024m -Xmx2048m App.jar

Como faço para especificar um padrão de heap para uma aplicação??
detalhe: queria deixar padronizado para cada vez que a aplicação for aberta…
tem como especificar isso no próprio .jar sem ter que criar um .bat (ou .sh) para abrir o sistema???
desde já obrigado…

Eae,

O Eclipse utiliza um arquivo INI, mas eles tem um Launcher EXE (eclipse.exe).

Dá uma olhada se isso resolve:

http://commons.apache.org/launcher/

ou

http://www.guj.com.br/posts/list/50077.java

Falou!

obrigado…
mas o que eu quero saber é se posso mudar o valor padrão de alocação de memória que a jvm libera para as aplicações java…
digamos… quero que todas as aplicações java agora tenham no mínimo 1GB (-Xms1024m) e no máximo 2 (-Xmx2048m) sem precisar abrir os sistemas por comando… então cada vez que eu daria 2 cliques num .jar executável por exemplo, ele abriria com essas configurações (mínimo 1GB, máx 2GB)
tem como?
obrigado desde já…

Ahhh!

Desconheço uma forma de fazer isso… isto é, dentro da própria JVM

Você poderia criar um alias pro comando “java” talvez (ou doskey), mas acho isso mta gambi… melhor usar os parametros

então o único jeito seria liberar memória por comando e todo o sistema aberto ficaria com a janela da console aberta…?
se alguém souber como mudar o valor padrão de alocação de memória poste aqui por favor…
obrigado a todos…

Cara…

Se vc usar o .bat sim, vai aparecer a bendita janela do console…

Você pode também criar um ícone do windows (atalho) pra executar o programa.
Ou ainda, configurar o MANIFEST.MF do seu JAR e executar o JAR direto.

Caso contrário você vai precisar fazer um launcher EXE.

Falou!

Usando sistemas *nix, poderia simplesmente fazer:

alias java="java -Xmx(N)"

Em Windows, creio quese você criar uma variável de ambiente chamada “JAVA_OPTS” ou “_JAVA_OPTS”, não lembro, e colocar nela “-Xmx(N)”, a JVM lê esses valores, mas em Windows não garanto.

Até!

Já tinha tentado a variável de ambiente JAVA_OPTS e nada…
Mas acho que achei a solução mais adequada:
Crio um outro .jar só para iniciar o sistema. Ex: App.jar e OpenApp.jar
e a classe main de OpenApp.jar faria o seguinte

Runtime.getRuntime().exec("java -jar -Xms1024m -Xmx2048m App.jar");

e o atalho do sistema seria referenciado para OpenApp.jar
Talvez não seja a melhor maneira mas assim a tela da console não ficariaa aberta e o sistema iniciaria com os parâmetros desejados…
obrigado a todos…