垃圾收集器的种类--深入理解JVM内存结构,熟练GC垃圾回收机制,可以进行简单的JVM调优

垃圾收集器的种类

串行垃圾回收器(Serial Collector) Serial:连续的

一个单线程的收集器,使用标记-复制算法 (*)。适用于小型应用,停顿时间较长。在进行垃圾收集时候,必须暂停其他所有的工作线程直到它收集结束。不适合服务器环境。

标记复制算法是一种垃圾收集算法主要用于新生代的垃圾收集.它将堆内存分为两个相等的大小的区域,一个是活动区域(From区域) 一个是空闲区域(To区域一直是'空'的)

并行垃圾回收器(Parallel Collector) Parallel:并行的 

多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。适用于科学计算,大数据处理等与前端弱交互的场景,使用标记-复制算法。适用于大型应用,通过利用多核处理器来加速垃圾收集过程。

并发垃圾收集器  (CMS Collector) 垃圾收集器和应用程序一起进行

指用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替进行),不需要停顿用户线程,使用标记-清除算法。适用于对响应时间有较高要求的应用通过在垃圾收集过程中与应用程序并发执行来减少停顿时间。适用于互联网公司,对响应时间有要求

G1垃圾收集器

在G1中,堆被划分成 许多个连续的区域(region)。采用G1算法进行回收,吸收了CMS收集器特点。使用分代收集算法,将堆内存划分为多个区域。适用于大内存应用和对响应时间有较高要求的应用,通过优化内存分配和垃圾回收来减少停顿时间。

特点:支持很大的堆,高吞吐量(并行多则吞吐量大)

--支持多CPU和垃圾回收线程

--在主线程暂停的情况下,使用并行收集

--在主线程运行的情况下,使用并发收集

实时目标:可配置在N毫秒内最多只占用M毫秒的时间进行垃圾回收

通过JVM参数

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

查看服务器默认的垃圾收集器

JVM参数:

java -XX:+PrintCommandLineFlags -version

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值