当前位置: 首页 > 后端技术 > Java

Java -jar 启动 JVM常用参数配置解读

时间:2023-04-02 00:21:57 Java

java-jar启动JVM常用参数配置解读标准参数(-X),默认jvm实现了这些参数的功能,但不保证满足所有jvm实现,也不保证向后兼容;三是非稳定参数(-XX),此类参数的每个jvm实现都有可能在以后随时取消,需要谨慎使用;标准参数-jar指定以jar包的形式执行应用程序。要以这种方式执行应用程序,必须在jar包的清单文件中声明最初加载的主类。当然,主类必须有一个publicstaticvoidmain(String[]args)方法。-client设置JVM使用客户端模式,其特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或PC应用程序开发调试。-server将JVM设置为服务器模式,其特点是启动速度较慢,但??运行时性能和内存管理效率较高,适用于生产环境。此模式在支持64位的JDK环境中默认启用,忽略-client参数。-classpath用于告诉JVM搜索目录名、jar文件名、zip文件名,以分号分隔;使用-classpath后,JVM将不再使用CLASSPATH中的类搜索路径,如果-classpath和CLASSPATH均未设置,则JVM使用当前路径(.)作为类搜索路径。JVM搜索类的方式和顺序是:Bootstrap、Extension、User。-Dproperty=value设置系统属性名/值对,运行在这个JVM上的应用程序可以使用System.getProperty("property")来获取value的值。如果值中有空格,则需要用双引号将值括起来,如-Dname="spacestring"。此参数通常用于设置系统级全局变量的值,例如配置文件路径,以便可以在程序的任何位置访问该属性。-Xms初始堆内存大小,默认物理内存64/1-Xms=-XX:InitialHeapSize-Xmx最大堆内存,默认物理内存4/1-Xmx=-XX:MaxHeapSize-Xss栈内存大小;-Xss=-XX:ThreadStackSize设置单线程栈大小,一般默认为512~1024kb。单线程栈的大小与操作系统和JDK版本有关。-Xmn新生代大小-XX:MetaspaceSize元空间大小元空间的本质类似于永久代,是JVM规范中方法区的实现。但是,元空间与永久代最大的区别在于,元空间不在虚拟机中,而是使用本地内存。因此,元空间大小仅受本地内存限制。-XX:+PrintGCDetails打印GC详细日志信息-XX:SurvivorRatio幸存者比例设置-XX:NewRatio新生代比例设置-XX:MaxTenuringThreshold进入老年代阈值设置常用参数:“-XX:MetaspaceSize=128m”-XX:MaxMetaspaceSize=128m""-XX:SurvivorRatio=8""-Xms1024m""-Xmx1024m""-Xmn256m""-Xss256k"