java -jar 常用参数

这篇具有很好参考价值的文章主要介绍了java -jar 常用参数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

java 命令行

java -jar命令用于运行可执行的JAR文件。它会自动查找JAR文件中的清单文件(MANIFEST.MF),并根据清单文件中的Main-Class属性指定的主类来启动应用程序。

Java 运行时参数

  • 标准选项,被所有JVM支持
  • -X 额外选项,不保证被所有的JVM支持,并可能随时改变
  • -XX 高级选项,不保证被所有的JVM支持,并可能随时改变

非标准选项运行参数,-X 选项是非标准选项, 如有更改, 恕不另行通知。

-X 打印出NonStandard Options(非标准参数)的帮助信息,并退出jvm
#  jvm 内存调整
-Xms 为jvm启动时分配的初始堆的大小,也是堆大小的最小值,比如-Xms200m,表示分配200M
-Xmx 为jvm运行过程中分配的最大堆内存,比如-Xmx500m,表示jvm进程最多只能够占用500M内存
-Xss 为jvm启动的每个线程分配的内存大小,默认JDK1.4中是256K,JDK1.5+中是1M, 线程栈用于存储线程的局部变量和方法调用信息。通过调整线程栈的大小,可以控制应用程序的并发性能和内存使用情况。

# 元空间
-XX:MetaspaceSize=256m 参数,您可以指定元空间的初始大小为256MB。这意味着在应用程序启动时,虚拟机会预分配256MB的内存用于存储类的元数据。
-XX:MaxMetaspaceSize=:指定元空间的最大大小。元空间用于存储类的元数据信息。例如,-XX:MaxMetaspaceSize=256m表示将元空间的最大大小设置为256MB。适当设置元空间的大小可以避免类加载和元数据溢出的问题。

# 垃圾回收
-XX:+UseG1GC 启用G1垃圾回收器

-XX:NewRatio=1 设置新生代与老年代的比例,默认值为2;设置新生代和老年代的比例为1:1。

# 日志输出
-Xloggc: 将虚拟机每次垃圾回收的信息写到日志文件中,文件名由file指定,文件格式是平文件,内容和-verbose:gc输出内容相同。
-XX:+PrintGCDateStamps: 用于在GC日志中打印时间戳。会在GC日志中打印出当前系统时间,格式为yyyy-MM-ddTHH:mm:ss.SSS+0800。其中,T表示时间和日期的分隔符,SSS表示毫秒数,+0800表示时区偏移量为东八区。
-XX:+PrintGCDetails: 打印出垃圾回收的详细信息。

# 堆转储
-XX:+HeapDumpOnOutOfMemoryError 当出现 OutOfMemoryError 错误时,这个参数会自动生成堆转储文件,以便分析问题。
-XX:HeapDumpPath 使用-XX:HeapDumpPath配置的时候,需要保证目录的文件夹都是存在,因为它在到处dump文件的时候,不会创建不存在的目录。 堆转储文件是一种记录 Java 应用程序运行时内存状态的文件。分析堆转储文件可以帮助开发人员找到内存泄漏和性能问题等应用程序缺陷。

# GC 线程配置
-XX:ParallelGCThreads STW(stop the world指的是GC事件发生过程中,会产生应用程序的停顿)工作线程数量,超过8,则为设置值的 5/8;大型 SPARC 系统为 5/16;
-XX:ConcGCThreads 并发GC线程数,一般为 ParallelGCThreads 的 1/4

堆转储文件的格式?
堆转储文件是一种二进制文件,用于记录 Java 虚拟机在出现 OutOfMemoryError 错误时的堆内存状态。它记录了所有对象的状态和信息,包括对象的类名、实例变量和数组元素的值等。堆转储文件的格式通常是以 .hprof 为后缀的二进制文件。可以使用一些工具来分析和解释这些文件,例如 Eclipse Memory Analyzer 和 Oracle 的 jhat 工具。在使用时,需要注意堆转储文件可能会占用大量磁盘空间。在生产环境中,应该谨慎使用该选项,并定期清理生成的堆转储文件。

-D=:设置系统属性。例如,-Djava.library.path=/path/to/libs设置java.library.path系统属性为/path/to/libs。您可以使用这个参数来配置应用程序的一些属性,例如文件路径、日志级别等。
-Dfile.encoding=:设置默认的文件编码。例如,-Dfile.encoding=UTF-8表示使用UTF-8编码来读取和写入文件。正确设置文件编码可以确保应用程序能够正确处理不同字符集的文本数据。
-Dfoo="some string" , 属性注入 可以使用:System.getProperty("foo")获取。
-verbose:class:打印类加载信息。使用这个参数可以了解应用程序在运行过程中加载的类的详细信息,包括类的名称、来源等。在程序运行的时候究竟会有多少类被加载。
-verbose:gc:打印垃圾回收信息。通过使用这个参数,您可以了解应用程序的垃圾回收情况,包括垃圾回收器的使用情况、回收的对象数量等。
-verbose:jni : 输出native方法调用的相关情况,一般用于诊断jni调用错误信息。
-ea和-da 开启和关闭断言。
-agentlib、-agentpath和javaagent 用于加载代理库。
-server 两种java虚拟机的启动方式,默认是用server模式

完整示例文章来源地址https://www.toymoban.com/news/detail-770397.html

OOM_HOME=$WORK_PATH/oom
LOG_HOME=$WORK_PATH/console-logs
GC_LOG_HOME=$WORK_PATH/logs/gc-logs
XMS_CONFOG=4G
XMX_CONFIG=4G
JVM_OPTS="-Xms$XMS_CONFOG -Xmx$XMX_CONFIG -Xss256K -server -XX:+UseG1GC -XX:NewRatio=1 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$OOM_HOME -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:$GC_LOG_HOME/gc-%t.log -XX:ParallelGCThreads=11 -XX:ConcGCThreads=4"

# nohup: 后台运行,并输出日志到 $LOG_HOME/console.log
nohup ${JAVA_HOME}/bin/java -jar $JVM_OPTS $APP_FALE > $LOG_HOME/console.log 2>&1 &

到了这里,关于java -jar 常用参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java--常用jar命令

    jar命令参数: 也可以用通配符 或者,将整个文件夹打包进去 打包后的jar包会自动生成摘要文件:META-INF/MANIFEST.MF,内容如下 以下命令将会更新jar包内的TestA.class文件 如果文件在jar中不存在,则添加进jar中,如下所示 添加Main.class 查看jar中的文件列表 以下的内容会介绍如何执

    2024年02月11日
    浏览(27)
  • 运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar

    朋友 我当你一秒朋友 朋友 我当你一世朋友 奇怪 过去再不堪回首 怀缅 时时其实还有 运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar 基本可以断定,是jar不完整导致的。不完整!!!记住 检查1: 检查是不是传输中断了,有些传输命令会超时,一超时就断了。 检查

    2024年02月06日
    浏览(35)
  • JVM运行时参数查看

    常用命令查找文档站点:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html 输出所有参数的名称和默认值,默认不包括Diagnostic和Experimental的参数。可以配合  -XX:+UnlockDiagnosticVMOptions 和 -XX:UnlockExperimentalVMOptions 使用 注意: 这里列举出来的所有参数值,大体分为两类。一类

    2024年02月10日
    浏览(23)
  • HadoopYarn常用命令、yarn application查看任务、yarn logs查看日志、yarn applicationattempt查看尝试运行的任务、查看容器、Yarn生产环境核心参数

    Yarn状态的查询,除了可以在hadoop103:8088页面查看外,还可以通过命令操作。常见的命令操作如下所示: 需求:执行WordCount案例,并用Yarn命令查看任务运行情况。 [summer@hadoop102 ~]$ myhadoop.sh start 这个是之前写的脚本,想了解的可用看我之前写的文章 https://blog.csdn.net/Redamancy06/

    2024年01月18日
    浏览(37)
  • JVM常用参数

    内存相关参数: GC 相关参数: 调优相关参数:

    2024年02月13日
    浏览(25)
  • linux运行jar包命令

    linux运行jar包 要运行java的项目需要先将项目打包成war包或者jar包,打包成war包需要将war包部署到tomcat服务器上才能运行。而打包成jar包可以直接使用java命令执行。在linux系统中运行jar包主要有以下四种方式。 一、java -jar xxx.jar 这是最基本的jar包执行方式,但是当我们是当我

    2024年02月08日
    浏览(31)
  • JVM——配置常用参数,GC调优策略

    Java内存区域常见配置参数概览 堆参数; 回收器参数; 项目中常用配置; 常用组合; Java内存区域常见配置参数概览 堆参数 回收器参数 如上表所示,目前 主要有串行、并行和并发三种 ,对于大内存的应用而言,串行的性能太低,因此使用到的主要是并行和并发两种。并行

    2024年02月12日
    浏览(30)
  • Android 命令行如何运行 JAR 文件

    ​ 最近有位老哥问了一个问题,说如果将java的jar文件在Android中执行?这个其实很简单的一个问题,直接写个App放里面不就可以了么?但是人家说没有App,直接使用命令行去运行。说明这个需求的时候,把我给整懵了,没有很好的思路去想这个问题,所幸查了查资料,发现其

    2024年02月12日
    浏览(41)
  • 【问题】----运行jar命令提示没有主清单属性

    在pom.xml中添加/修改maven打包依赖: 当我们将打包插件依赖删除后会发现项目照样可以打包,由此可见我们出错是因为使用了原始maven打包,并没有使用我们添加的打包插件打包。 没有使用打包插件时在项目中打开MANIFEST.MF文件会发现有Main-Class属性,当打开jar包会发现里面的

    2024年02月15日
    浏览(63)
  • 后端jar包部署常见运行和停止命令

    目录 一、jar包运行最佳方式:nohup的方式运行,同时输出日志: 二、停止Jar包的运行: 获取进程的方式: 杀死进程:          通过查询到的PID:          通过进程名称:

    2024年04月23日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包