Pergunta

Quando você executar um programa através da linha de comando, você pode usar java -Xms -Xmx para especificar os tamanhos de heap. Se o programa vai ser executado clicando duas vezes um arquivo .jar, há uma maneira de usar mais pilha do que o padrão?

Foi útil?

Solução

No. É por isso que muitas vezes fazem um arquivo .bat ou .sh com esses parâmetros e direcionar os usuários para executá-lo em vez do .jar. Infelizmente, é um pouco feio ter que aparecer uma janela de prompt de comando, mas que não pode ser ajudado.

Como um benefício lado, se o seu congelamento do aplicativo, você pode direcionar os usuários para colocar pause para o arquivo de lote (ou faça você mesmo), e então você pode ver qualquer traço de pilha que ocorre.

Editar: Você também pode usar um envoltório executável, como JSmooth ou < a href = "http://launch4j.sourceforge.net/" rel = "noreferrer"> Launch4J em vez de um arquivo de lote. Você iria perder alguma compatibilidade entre plataformas, no entanto.

Outras dicas

Em vez de um duplo clique no arquivo .jar diretamente, você pode usar um arquivo em lotes que executa java -jar -Xms -Xmx your_file.jar. Do ponto de vista do usuário é o mesmo, mas dá-lhe mais controle sobre o comando que é realmente executado.

Você pode ter o frasco iniciar-se novamente com Runtime.getRuntime () exec (). Com as opções desejadas. O frasco pode conter mais de um método main () (em diferentes classes) e você pode ter um chamar o outro através de um exec ().

Você pode usar JSmooth ou um invólucro semelhante, o que cria um arquivo executável que lança a JVM com o parâmetros necessários. Dessa forma, você pode evitar ter um arquivo .bat e seu diálogo console. Ainda mais é uma maneira de começar o programa atual no novo processo usando Runtime.exec ou ProcessBuilder.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top