使用java -jar命令启动Java应用程序时,可以进行多种参数调整来优化应用程序的性能、内存使用、日志记录等。下面列举了一些常见的参数调整:

1、JVM内存参数:

-Xms:设置初始堆大小。例如,-Xms512m表示初始堆大小为512MB。

-Xmx:设置最大堆大小。例如,-Xmx1g表示最大堆大小为1GB。

-XX:NewRatio:设置老年代与新生代的比例。例如,-XX:NewRatio=2表示老年代是新生代的两倍大小。

-XX:MaxNewSize:设置新生代的最大值。例如,-XX:MaxNewSize=384m表示新生代最大为384MB。
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

2、垃圾收集器参数:

-XX:+UseG1GC:启用G1垃圾收集器。

-XX:+UseConcMarkSweepGC:启用CMS垃圾收集器。

-XX:+UseParallelGC:启用并行垃圾收集器。
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

3、日志记录和调试参数:

-Djava.util.logging.config.file=logging.properties:指定日志配置文件。

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005:启用远程调试。
  • 1.
  • 2.
  • 3.

4、Spring Boot应用特定参数:

-Dspring.profiles.active=profileName:激活特定的Spring Profile。例如,-Dspring.profiles.active=test激活测试环境配置。

--spring.config.location=file:/path/to/application.properties:指定Spring配置文件的位置。
  • 1.
  • 2.
  • 3.

5、其他参数:

-Dproperty.name=value:设置系统属性。

-XX:+PrintGCDetails:打印详细的GC日志。

-XX:+HeapDumpOnOutOfMemoryError:当出现OOM错误时,生成堆转储文件。
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

6、后台运行和日志重定向:

nohup java -jar app.jar &:让应用在后台运行,并且不因终端关闭而停止。

java -jar app.jar > output.log 2>&1 &:将标准输出和错误输出重定向到一个日志文件。
  • 1.
  • 2.
  • 3.

根据应用程序的具体需求,你可以选择合适的参数进行调整。例如,如果你的应用程序处理大量数据,可能需要增加堆内存大小;如果应用程序需要在低延迟环境下运行,可以选择适当的垃圾收集器来减少GC暂停时间