当前位置: 首页>编程语言>正文

maven 骨架 maven geotools

堆内存和垃圾回收机制

堆内存分为年轻代和老年代,年轻代又分为eden区和survivor区,survivor区由Fromspace和Tospace组成,一般为容量大小为8:1:1

新生成对象首先存放在Eden区,当Eden区满了触发minorGC,存活下来的对象存放于survivor0区,满了再执行minorGC,存活对象移动到survivor1区,经过多次minorGC依旧存活的对象移动到老年代。

老年代存放长期存活的对象,占满时会触发majorGC(清理老年代)和fullGC(清理整个堆空间)

分新生代和老年代的原因:根据对象的存活概率分类,存活时间长的放到老年代,会减少垃圾扫描时间和GC频率,对不同分区运用不同垃圾回收算法。

Survivor区分为两块的原因:解决碎片化

下图为堆内存垃圾回收过程,红色为幸存对象,绿色为剩余空间,黄色标识死亡对象。在垃圾回收后fromspace和tospace调换。

maven 骨架 maven geotools,maven 骨架 maven geotools_maven 骨架,第1张

jvm部分参数

-Xms   java虚拟机堆区内存初始内存,默认为操作系统可用内存的1/64

-Xmx   java虚拟机堆区内存可被分配的最大上线

一般在开发时,两个参数调为一致

 

-Xmn  新生代内存大小

-XX:PermSize  表示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)

-XX:MaxPermSize:表示对非堆区分配的内存的最大上限

-Xss  每个线程分配的堆内存

-XX:survovorRatio   年轻代中EDen区与survivor区的比例,默认为8,即8:1:1

-XX:newRatio   年轻代与老年代的比值

-XX: UseparallelGC  使用多线程并行执行年轻代垃圾回收

-XX: UseparallelOldGC  激活老年代并行执行垃圾回收,且激活年轻代并行执行垃圾回收,jvm 多核时使用,优于-XX: UseparallelGC

-XX:parallelGCThreads  可以指定并行垃圾收集的线程数量

-XX:TimeRatio  指定目标应用程序线程的执行时间达到的目标比值

-XX:+UseConcMarkSweepGC  激活CMS收集器

-XX:UseParNewGC  当使用CMS收集器时,该标志激活年轻代使用多线程并行执行垃圾回 收

-XX: +CMSConcurrentMTEnabled  标志激活时,并发的CMS阶段将以多线程执行

-XX: ConcGCThreads  定义并发CMS过程运行时的线程数

堆内存和垃圾回收机制

堆内存分为年轻代和老年代,年轻代又分为eden区和survivor区,survivor区由Fromspace和Tospace组成,一般为容量大小为8:1:1

新生成对象首先存放在Eden区,当Eden区满了触发minorGC,存活下来的对象存放于survivor0区,满了再执行minorGC,存活对象移动到survivor1区,经过多次minorGC依旧存活的对象移动到老年代。

老年代存放长期存活的对象,占满时会触发majorGC(清理老年代)和fullGC(清理整个堆空间)

分新生代和老年代的原因:根据对象的存活概率分类,存活时间长的放到老年代,会减少垃圾扫描时间和GC频率,对不同分区运用不同垃圾回收算法。

Survivor区分为两块的原因:解决碎片化

下图为堆内存垃圾回收过程,红色为幸存对象,绿色为剩余空间,黄色标识死亡对象。在垃圾回收后fromspace和tospace调换。

maven 骨架 maven geotools,maven 骨架 maven geotools_maven 骨架,第1张

jvm部分参数

-Xms   java虚拟机堆区内存初始内存,默认为操作系统可用内存的1/64

-Xmx   java虚拟机堆区内存可被分配的最大上线

一般在开发时,两个参数调为一致

 

-Xmn  新生代内存大小

-XX:PermSize  表示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)

-XX:MaxPermSize:表示对非堆区分配的内存的最大上限

-Xss  每个线程分配的堆内存

-XX:survovorRatio   年轻代中EDen区与survivor区的比例,默认为8,即8:1:1

-XX:newRatio   年轻代与老年代的比值

-XX: UseparallelGC  使用多线程并行执行年轻代垃圾回收

-XX: UseparallelOldGC  激活老年代并行执行垃圾回收,且激活年轻代并行执行垃圾回收,jvm 多核时使用,优于-XX: UseparallelGC

-XX:parallelGCThreads  可以指定并行垃圾收集的线程数量

-XX:TimeRatio  指定目标应用程序线程的执行时间达到的目标比值

-XX:+UseConcMarkSweepGC  激活CMS收集器

-XX:UseParNewGC  当使用CMS收集器时,该标志激活年轻代使用多线程并行执行垃圾回 收

-XX: +CMSConcurrentMTEnabled  标志激活时,并发的CMS阶段将以多线程执行

-XX: ConcGCThreads  定义并发CMS过程运行时的线程数


https://www.xamrdz.com/lan/5ss1924513.html

相关文章: