Sobes.tech
Junior — Middle

Quais argumentos de linha de comando estão disponíveis para configurar a JVM ao iniciar uma aplicação Java?

sobes.tech IA

Resposta da IA

Ao iniciar uma aplicação Java, a JVM pode ser configurada usando vários argumentos de linha de comando que afetam o comportamento da máquina virtual. As principais categorias de argumentos:

  • Configuração de memória:

    • -Xms<size> — tamanho inicial do heap, por exemplo, -Xms512m
    • -Xmx<size> — tamanho máximo do heap, por exemplo, -Xmx1024m
    • -Xss<size> — tamanho da pilha para cada thread
  • Configuração do coletor de lixo:

    • -XX:+UseG1GC — ativar G1
    • -XX:+UseConcMarkSweepGC — ativar CMS
    • -XX:+UseParallelGC — ativar coletor paralelo
  • Depuração e monitoramento:

    • -Xdebug — ativar modo de depuração
    • -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 — configuração de depuração remota
    • -XX:+PrintGCDetails — mostrar informações detalhadas sobre a coleta de lixo
  • Configuração de desempenho:

    • -XX:MaxPermSize=<size> (para versões antigas de JVM) — tamanho da geração permanente
    • -XX:+UseStringDeduplication — deduplicação de strings (para G1)
  • Geral:

    • -D<nome>=<valor> — definir propriedades do sistema
    • -verbose:gc — saída detalhada sobre a coleta de lixo

Exemplo de início com configuração de memória e habilitação do G1:

java -Xms512m -Xmx2g -XX:+UseG1GC -Dconfig.file=app.properties -jar myapp.jar