当前位置: 首页 > news >正文

新手学做网站txt下载网络营销环境宏观微观分析

新手学做网站txt下载,网络营销环境宏观微观分析,wordpress额外css,信息发布的网站怎么做文章目录 引言正文指针引用可达性分析算法垃圾回收算法标记清除算法标记整理算法复制分代收集 垃圾收集器Serial收集器ParNew并行收集器Parallel Scavenge吞吐量优先收集器Serial Old老年代收集器Parallel old收集器CMS收集器G1收集器(Garbage First垃圾优先&#x…

文章目录

    • 引言
    • 正文
      • 指针引用
      • 可达性分析算法
      • 垃圾回收算法
        • 标记清除算法
        • 标记整理算法
        • 复制
        • 分代收集
      • 垃圾收集器
        • Serial收集器
        • ParNew并行收集器
        • Parallel Scavenge吞吐量优先收集器
        • Serial Old老年代收集器
        • Parallel old收集器
        • CMS收集器
        • G1收集器(Garbage First垃圾优先)
    • 总结

引言

  • 上次面试腾讯,让我说了一下垃圾回收机制,虽然大概都说出来了,但是觉得还是有不够详细,今天好好整理一下,下次不会这么狼狈了!

正文

指针引用

  • Java中对象的访问是需要通过引用进行判断的,引用主要分为其中,按照强度递减分别是:强软弱虚

    • 强引用
      • 通过new创建的对象,直接用=赋值,如果还存在强引用,垃圾回收器绝对不会回收他
    • 软件引用
      • 需要使用SoftReference进行声明
      • 如果内存不够了,要报异常了,这里就要的优先回收软引用
      • 用于对象缓存
    Obj obj = new Obj();
    SoftReference<Obj> sr = new SoftReference<Obj>(obj)
    
    • 弱引用
      • 描述非必须的对象,当一个对象只有弱引用,只要发生GC,一定会被回收
    Obj obj = new Obj();
    WeakReference<Obj> sr = new WeakReference<Obj>(obj)
    
    • 虚引用
      • 最弱的引用,形同虚设
      • 仅仅是当前对象被回收了,我能收到通知

可达性分析算法

  • 通过一系列GC Root的根对象作为起始节点,然后根据引用关系向下搜索,搜索走过的路径就是引用链。

    • GC Root不可达,说明对象不再被使用
    • GC Root可达,说明对象仍旧在使用
  • 固定为GC Root的对象有以下几种

    • 虚拟栈中引用的对象
    • 在方法区,类静态属性引用的对象
    • 在方法区,常量引用的对象
    • 在本地方法栈中Native方法引用的对象
    • Java虚拟机内部的引用
    • 同步锁持有的对象

垃圾回收算法

标记清除算法
  • 找出所有对象,将存活对象进行标记,然后清理掉未标记的对象,结束。
    在这里插入图片描述
标记整理算法
  • 首先找出所有对象,将存活对象进行标记,然后将存活对象整理一端,将内存区域直接清除掉
    在这里插入图片描述
复制
  • 将内存划分为大小相等的两块,每次只使用其中一块,当这一块内存用完了,就将存活对象复制到另外一块上,然后再将使用过的内存空间进行一次清理
    在这里插入图片描述
分代收集
  • 根据对象的存活周期将内存划分为几块,不同块采用不同的收集算法。
  • 一般分为新生代和老年代,
    • 新生代
      • 绝大多数的对象都是活不过一次垃圾回收
      • 使用复制算法
    • 老年代
      • 大多数是熬过了很多次垃圾回收过程的对象。
      • 标记清除 或者 标记整理算法

垃圾收集器

  • 目前常用的hotpot虚拟机支持其中垃圾收集器,可以混用。
    在这里插入图片描述
Serial收集器
  • 基本流程
    • 暂停所有的工作线程,专门进行垃圾回收
  • 针对对象
    • 新生代
  • 算法
    • 复制算法
ParNew并行收集器
  • 多线程版的Serial收集器
  • 基本流程
    • 暂停所有工作线程,使用多线程进行垃圾回收
  • 针对对象
    • 新生代
  • 算法
    • 复制算法
Parallel Scavenge吞吐量优先收集器
  • 多线程垃圾收集器,尽量压缩垃圾收集时,用户线程的停顿时间

  • 基本流程

    • 暂停所有工作线程,使用多线程进行垃圾回收
  • 针对对象

    • 新生代
  • 算法

    • 复制算法
  • 注意

    • 需要控制最大垃圾收集停顿时间
    • 设置吞吐量大小
Serial Old老年代收集器
  • Serial收集器的老年版,使用标记-整理算法,提供客户端模式下使用
  • 基本流程
    • 暂停所有工作线程,使用多线程进行垃圾回收
  • 针对对象
    • 老年代
  • 算法
    • 标记整理算法
Parallel old收集器
  • 多线程垃圾收集器,尽量压缩垃圾收集时,用户线程的停顿时间

  • 基本流程

    • 暂停所有工作线程,使用多线程进行垃圾回收
  • 针对对象

    • 老年代
  • 算法

    • 复制算法
  • 注意

    • 应用于处理器资源较为稀缺的场合,考虑使用Parallel Scavenge 和 Parallel Old一块使用
CMS收集器
  • 追求最短停顿时间的垃圾收集器

  • 基本流程

    • 初始标记
      • 停下所有线程,仅仅标记一下GC Root能够关联的对象
    • 并发标记
      • 用户线程并行,进行GC Roots Tracing,耗时最长
    • 重新标记
      • 修正并发期间因为程序调用导致的标记变动,停下所有工作线程,耗时较短
    • 并发清除
      • 用户线程并行,清除掉死亡对象
  • 总结

    • 吞吐量低,但是停顿时间少,完成垃圾回收时间长,但是是并行的
    • 使用标记清除算法,内存空间不连续,大量的空间碎片
G1收集器(Garbage First垃圾优先)
  • 将内存进行分区,然后进行回收价值和成本排序,价值越高成本越低的区块优先回收。

  • 特性和问题总结:

    • 将整个堆分成大小相同的Region区域,每一个都是Region都可能是新生代、老年代、Eden空间和Survivor空间
    • G1每次收集的时候,只会收集部分Region,每次收集时,会先估算每一个小块存活对象的总数,回收垃圾最多的小块会先被收集
      • 对于跨Region的引用对象,使用记忆集解决
      • 并发标记阶段如何保证收集县城和用户线程互不干扰的运行
        • 回收过程中改变对象引用关系:通过原始快照SATB算法实现
        • 回收过程中创建新对象:使用单独的分区和指针TAMS保存新创建的对象
  • 四个步骤

    • 初始标记
      • 仅仅标记一下GC Root能够关联的对象(停顿一下)
    • 并发标记
      • 进行可达性分析,完成对象图扫描,判断存活对象和可回收对象
      • 处理STAB记录的是否有引用变动的对象
    • 最终标记
      • 暂时停顿,查看处理并发阶段结束后少量的SATB记录
    • 筛选回收
      • 根据统计的回收价值和成本并排序,筛选region进行回收
      • 使用标记复制的算法实现

总结

  • 这里是粗浅的理解,后续会在有补充,有很多问题都没有解决,包括怎么进行GC调优呀等等,都没有看!
http://www.ds6.com.cn/news/12118.html

相关文章:

  • 上海网站建设网站制作目前引流最好的平台
  • 自驾游网站模板百姓网推广电话
  • 互联网法院郑州seo排名优化公司
  • 自己的网站做防伪码自动点击器app
  • 平台网站建设凡科建站怎么样
  • 做俄罗斯外贸的网站网络游戏推广平台
  • 建设一个网站要多久百度平台客服电话
  • python 快速做网站抖音引流推广一个30元
  • 聊天网站建设重庆seo技术教程博客
  • 阳江网上车管所海淀seo搜索引擎优化公司
  • 常州网站搜索排名抖音推广引流平台
  • 创建网站的详细步骤全国seo公司排名
  • 辽阳专业网站建设品牌网络营销和推广的方法
  • 深圳做积分商城网站设计微信引流推广怎么做
  • 人大网站硬件建设与信息宣传工作网站如何做推广
  • 网站建设教程网外贸网站平台都有哪些
  • 二次开发是什么高明公司搜索seo
  • 电子商务公司网站怎么建windows优化大师的功能
  • 网站模板和后台抖音seo是什么
  • 网站名称怎样做如何提高关键词搜索排名
  • 兰州网站怎么建设地推怎么做最有效
  • 建设网站 怀疑对方传销 网站制作 缓刑怎样开自己的网站
  • 宁波网站开发建设公司seo学院
  • 做任务佣金的网站安徽网站推广
  • 广西城乡建设网站如何制作自己的网址
  • 六安网站制作人才招聘2023年10月疫情还会严重吗
  • 如何制作一个企业网站北京百度推广排名优化
  • 网站原创文章来源宁波seo关键词
  • 网站建设客户调研表全国各城市感染高峰进度查询
  • 扬州百姓网免费发布信息网seo职位