jvm参数含义

  • -Xms:堆最小(初始)内存分配
  • -Xmx:堆最大内存分配
  • -XX:+/-UseTLAB :虚拟机是否使用TLAB(Thread Local Allocation Buffer 本地线程分配缓冲)
  • -Xmn:堆内新生代的大小
  • -Xss:栈大小
  • -XX:PermSize:方法区内存大小
  • -XX:MaxPermSize:方法区最大内存
  • -XX:MaxDirectMemorySize:直接内存容量
  • -Xnoclassgc:是否对方法区内存进行回收
  • -verbose:class:显示类加载的情况
  • -XX:+TraceClassLoading:查看类的加载信息
  • -XX:+TraceClassUnLoading:查看类的卸载信息

GC相关

--XX:+UseSerialGC:使用Serial+Serial Old的收集器组合对内存进行回收
--XX:+UseParNewGC:使用ParNew+Serial Old的收集器组合对内存进行回收
--XX:+UseConcMarkSweepGC:使用ParNew+CMS+Serial Old的收集器组合对内存进行回收。Serial Old收集器作为CMS收集器出现Concurrent Mode Failure失败后的备用收集器使用
--XX:+UseParallelGC:使用Parallel Scavenge+Serial Old的收集器组合对内存进行回收
--XX:+UseParallelOldGC:使用Parallel Scavenge+Parallel Old的收集器组合对内存进行回收
-–XX:SurvivorRatio:新生代中Eden与Survivor区域的容量比值,默认为8,代表Eden:Survivor=8:1
--XX:XX:PretenureSizeThreshold:直接晋升到老年代对象的大小
--XX:MaxTenuringThreshold:晋升到老年代对象的年龄
--XX:+UseAdaptiveSizePolicy:动态调整Java堆中各个区域的大小以及进入老年代的年龄
--XX:HandlePromotionFailure:是否允许分配担保失败
--XX:ParallelGCThreads:并行GC时进行内存回收的线程数
-**-XX:GCTimeRatio:**GC时间占总时间的比率,仅在使用Parallel Scavengen收集器时生效
-**-XX:MaxGCPauseMillis:**GC最大停顿时间,仅在使用Parallel Scavengen收集器时生效
-**-XX:CMSInitiatingOccupancyFraction:**CMS收集器在老年代空间被使用多少后触发垃圾收集
-**-XX:+UseCMSCompactAtFullCollection:**CMS收集器在完成垃圾收集后是否要进行一次内存碎片整理,仅在使用CMS垃圾收集器时生效
-**-XX:CMSFullGCsBeForeCompaction:**CMS收集器在进行若干次垃圾收集器后再启动一次内存脆片整理,仅在使用CMS垃圾收集器时生效

内存泄漏:无法回收对象,导致空间不足,而造成新建对象没有足够空间
内存溢出:虚拟机总的空间不足,无法为所有对象分配到足够的内存空间

你可能感兴趣的:(java学习心得)