zoukankan      html  css  js  c++  java
  • jvm 垃圾回收

    回收策略 标记清除
    复制
    标记整理

    根对象来源: java 栈 ,静态变量,寄存器

    年轻代:Eden和两个survivor
    老年代
    持久代

       1. jmap -head pid 可以查看堆的配置情况,该命令可能导致进程终止。 可以使用jstat -gc 代替。

                2. jmap -histo:live pid 查看堆中所有存活对象的情况:对象数量和所占用空间大小。

     

    触发回收: 

    1. scavenge gc: 新对象进入eden 失败,触发GC ,对eden进行gc ,把存活对象放入sur 区。

    2. full gc: 对整个堆整理,包含持久代。 触发条件: 老年代写满,持久代写满。 调用system.gc() , 堆的分配策略变化。

    收集器:处理垃圾回收的线程。 包含三种方式:串行 , 并行,并发。 前两种需要暂停应用,多应用于新生代。 

    并行和并发:

    并行: 吞吐量优先,单位时间内能够处理的请求数。并行会暂停应用,但能较快完成,只占用很少时间。

    并发: 响应时间优先,通常是单个服务的执行时间,并发垃圾处理线程会和业务处理线程同时存在,影响吞吐量。不会暂停应用。 

  • 相关阅读:
    Java 并发理论简述
    Java 并发之原子性与可见性
    JVM 简述
    【算法导论】第5章,概率分析和随机算法
    【算法导论】第3、4章,增长和递归式
    【python】matplotlib进阶
    【dlbook】实践方法论
    【dlbook】优化
    【dlbook】正则化
    【dlbook】深度网络
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/12626076.html
Copyright © 2011-2022 走看看