Java常用配置项和命令行

JVM配置项说明

1、java虚拟机可配置参数整理
  • java参数配置参数分成三类
    • 标准参数(-开头) 如-version
    • 非标准参数(-X开头)
    • 非稳定参数(-XX开头)
## 第一部分:JMM配置参数
-Xmn  	新生代大小
-Xms	初始内存大小
-Xmx	堆最大值
-xxs	线程栈内存
-XX:NewSize=2.125m		新生代大小
-XX:MaxNewSize=size		新生代最大
-XX:MaxPermSize=64m		最大方法区
-XX:PermSize=64m		方法区
-XX:MaxTenuringThreshold=15		新生代存活次数
-XX:MaxHeapFreeRatio=70		GC最大堆内存闲置比率
-XX:MinHeapFreeRatio=40		最小比率
-XX:NewRatio=2				新生代和老年代的比率
-XX:ThreadStackSize=512			线程栈大小
-XX:PretenureSizeThreshold= size
-XX:SurvivorRatio=8		伊甸区容量比率

## 第二部分:GC配置参数
-XX:+UseSerialGC    使用SerialGC
-XX:+UseParallelGC   使用ParallelGC
-XX:+UseParNewGC	使用ParNewGC
-XX:ParallelGCThreads	并发线程数
-XX:+UseParallelOldGC	使用ParallelOldGC
-XX:+UseConcMarkSweepGC
-XX:-DisableExplicitGC
-XX:+ScavengeBeforeFullGC
## 第三部分:日志打印配置参数
-XX:-CITime
-XX:ErrorFile=./hs_err_pid<pid>.log
-XX:-ExtendedDTraceProbes
-XX:HeapDumpPath=./java_pid<pid>.hprof
-XX:-HeapDumpOnOutOfMemoryError
-XX:-PrintGC		日志打印
-XX:-PrintGC Details		详细日志打印
-XX:-PrintGCTimeStamps
-XX:-TraceClassLoading		
-XX:-TraceClassLoadingPreorder
-XX:-TraceClassResolution
-XX:-TraceClassUnloading
-XX:-TraceLoaderConstraints
## 第四部分:其他的

2、经典的参数搭配整理
-Xms4096M 
-Xmx4096M 
-Xmn2048M  
-XX:MetaspaceSize=256M
-XX:MaxMetaspaceSize=256M
-XX:+UseParNewGC  # 年轻代GC
-XX:+UseConcMarkSweepGC # 老年代GC
-XX:+CMSScavengeBeforeRemark # 标记钱先执行一次新生代GC,建议去掉
-XX:CMSInitiatingOccupancyFraction=75 
-XX:+UseCMSInitiatingOccupancyOnly  # 解决GC回收的毛刺问题
3、一般可调有参数
## 堆内存分配
-Xms10000M  ## 1、内存不足错误,可以扩大堆内存
-Xmx10000M 
-Xmn5000M   ## 2、大对象太多,可以将年轻代设置小一点
-Xss256K    ## 3、如果高并发环境,单个线程堆栈可以适当调小
-XX:MaxTenuringThreshold=1 
-XX:SurvivorRatio=30   # 4、小对象太多,可以设置比率大一点
-XX:TargetSurvivorRatio=50 
-Xnoclassgc  
-XX:PermSize=256m    
-XX:MaxPermSize=256m   # 5、静态数据太多,可以设置大一点,反之小一点
-XX:MetaspaceSize=200M # 6、如果动态代理比较多,可以设置大一点
## 垃圾回收器设置
-XX:+UseParNewGC   ## 新生代使用PartNew回收器
-XX:+UseConcMarkSweepGC   ## 老年代使用CMS回收器 
-XX:ParallelGCThreads=24   # 设置并发回收线程数
-XX:ConcGCThreads=24 
-XX:CMSInitiatingOccupancyFraction=80 
-XX:+CMSParallelRemarkEnabled 
-XX:+CMSScavengeBeforeRemark 
-XX:+ExplicitGCInvokesConcurrent 
-XX:+UseTLAB 
-XX:TLABSize=64K
# 日志打印参数设置
-XX:+PrintGCDetails 
-XX:+PrintGCTimeStamps 

JVM工具命令行整理

  • javac java源文件编译命令
  • java jar包发布命令
    • 例如: java -jar …jar
    • 用法 java [-options] class [args…]
  • jar java文件打包指令
    • 用法 jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files …
  • javadoc 生成java文档
    • javadoc [options] [packagenames] [sourcefiles] [@files]
  • javap java反编译
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值