美文网首页
【JAVA】java进程启动的 java options 解析

【JAVA】java进程启动的 java options 解析

作者: Bogon | 来源:发表于2024-07-14 17:52 被阅读0次

    nohup jar -jar ${JAVA_OPTS} test.jar &

    JAVA_OPTS如下:

    APP_NAME=test
    -Dservicename=test
    APP_MAINCLASS=com.test.mobile.netty.server.Main
    -XX:+UseG1GC
    -Xmx1024m
    -Xms512m
    -Djava.io.tmpdir=/opt/tmp/test
    -XX:+ParallelRefProcEnabled
    -XX:+PrintGCDetails
    -XX:+PrintAdaptiveSizePolicy
    -XX:+PrintGCDateStamps
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:HeapDumpPath=/opt/jarapp/test/logs
    -Djava.awt.headless=true
    -Dfile.encoding=utf-8
    http_port=12365
    InnerContextPaths=test/*
    ZK_server=172.22.203.110:2181,172.22.203.86:2181,172.22.203.90:2181
    -Dzookeeper.sasl.client=false
    

    JAVA_OPTS 是一个环境变量,用于设置 Java 程序的运行参数。

    在该例子中,JAVA_OPTS 包含了多个参数,让我们逐个解释:

    1. APP_NAME=test

      • 设置应用程序的名称为 test
    2. -Dservicename=test

      • 定义一个系统属性 servicename 的值为 test
    3. APP_MAINCLASS=com.test.mobile.netty.server.Main

      • 指定应用程序的主类为 com.test.mobile.netty.server.Main
    4. -XX:+UseG1GC

      • 使用 G1 垃圾回收器。
    5. -Xmx1024m

      • 设置 Java 虚拟机的最大内存为 1024MB。
    6. -Xms512m

      • 设置 Java 虚拟机的初始内存为 512MB。
    7. -Djava.io.tmpdir=/opt/tmp/test

      • 指定临时文件目录为 /opt/tmp/test
    8. -XX:+ParallelRefProcEnabled

      • 启用并行引用处理。
    9. -XX:+PrintGCDetails

      • 打印详细的垃圾回收日志。
    10. -XX:+PrintAdaptiveSizePolicy

      • 打印自适应大小策略的日志。
    11. -XX:+PrintGCDateStamps

      • 在垃圾回收日志中打印日期时间戳。
    12. -XX:+HeapDumpOnOutOfMemoryError

      • 在发生内存溢出错误时生成堆转储文件。
    13. -XX:HeapDumpPath=/opt/jarapp/test/logs

      • 指定堆转储文件的存储路径为 /opt/jarapp/test/logs
    14. -Djava.awt.headless=true

      • 设置 Java 运行环境为无图形界面模式。
    15. -Dfile.encoding=utf-8

      • 设置默认文件编码为 UTF-8。
    16. http_port=12365

      • 设置一个名为 http_port 的环境变量,其值为 12365
    17. InnerContextPaths=test/*

      • 设置一个名为 InnerContextPaths 的环境变量,其值为 test/*,可能用于指定一些内部上下文路径。
    18. ZK_server=172.22.203.110:2181,172.22.203.86:2181,172.22.203.90:2181

      • 设置一个名为 ZK_server 的环境变量,其值为 ZooKeeper 服务器的地址列表,用逗号分隔。
    19. -Dzookeeper.sasl.client=false

      • 设置一个名为 zookeeper.sasl.client 的系统属性,其值为 false,可能用于禁用 ZooKeeper 的 SASL 客户端认证。

    这些参数一起定义了 Java 应用程序的运行环境和行为。
    在你的命令中,nohup jar -jar ${JAVA_OPTS} test.jar &${JAVA_OPTS} 会被展开为所有这些参数,从而影响到 test.jar 的启动和运行。

    在Java中,使用 -D 参数来设置系统属性的语法是固定的,其中的 D 并不是一个缩写,而是Java虚拟机(JVM)规定的标准参数格式之一。

    具体来说:

    • -D 后面紧跟着一个键值对,用来设置系统属性。例如 -Dservicename=test 中,servicename 是属性的键,test 是属性的值。

    • 这种语法的设计是为了方便从命令行或者启动脚本中传递和设置Java应用程序运行时所需的配置信息,如系统路径、默认编码等。

    Java虚拟机在启动时会解析这些参数,并将其转化为相应的系统属性供应用程序使用。
    因此,使用 -D 是Java开发中常见的一种设置系统属性的方式,而 D 并没有特定的缩写意义,只是标记参数类型的一部分。

    相关文章

      网友评论

          本文标题:【JAVA】java进程启动的 java options 解析

          本文链接:https://www.haomeiwen.com/subject/wnychjtx.html