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

百度贴吧广告投放百度seo优化推广公司

百度贴吧广告投放,百度seo优化推广公司,网站开发语言学习,网站推广方法渠道目录 一、如何判定对象“生死”#xff1f; 1. 引用计数算法#xff08;理论参考#xff09; 2. 可达性分析算法#xff08;JVM 实际使用#xff09; 3. 对象的“缓刑”机制 二、引用类型与回收策略 三、何时触发垃圾回收#xff1f; 1. 分代回收策略 2. 手动触发…目录 一、如何判定对象“生死” 1. 引用计数算法理论参考 2. 可达性分析算法JVM 实际使用 3. 对象的“缓刑”机制 二、引用类型与回收策略 三、何时触发垃圾回收 1. 分代回收策略 2. 手动触发与注意事项 四、垃圾回收算法与实现 1. 基础算法对比 2. 分代收集理论 3. 新生代回收Apple式复制算法 五、主流垃圾收集器详解 1. CMS 收集器低停顿优先 2. G1 收集器平衡吞吐与延迟 3. 收集器对比 六、调优建议与工具推荐 1. 参数配置示例 2. 常见问题排查 3. 工具推荐 七、总结 一、如何判定对象“生死” 垃圾收集GC的核心是识别无用对象。JVM 通过两种算法判断对象是否存活 1. 引用计数算法理论参考 原理 每个对象维护一个引用计数器被引用时计数器 1引用失效时 -1。计数器为 0 时判定为可回收。 缺点 无法解决循环引用问题如对象 A 引用 BB 也引用 A。 Java 未采用主流 JVM 均使用 可达性分析算法。 2. 可达性分析算法JVM 实际使用 原理 从 GC Roots 出发遍历对象引用链。若对象无法被 GC Roots 关联则判定为可回收。 GC Roots 对象类型 虚拟机栈中的局部变量如方法参数、局部变量。 方法区中静态变量引用的对象。 方法区中常量引用的对象如字符串常量池。 本地方法栈中 JNI 引用的对象Native 方法。 同步锁持有的对象synchronized 锁对象。 Java 虚拟机内部对象如系统类加载器、异常对象。 3. 对象的“缓刑”机制 finalize() 方法 若对象重写 finalize() 且未被调用过JVM 会将其放入 F-Queue由 Finalizer 线程触发该方法。 逃脱机会 在 finalize() 中重新建立与 GC Roots 的引用链可避免被回收仅一次。 public class RescueObject {public static RescueObject hook;Overrideprotected void finalize() throws Throwable {super.finalize();hook this; // 在 finalize 中自我拯救} } 二、引用类型与回收策略 Java 提供 四种引用类型控制对象生命周期与回收优先级 引用类型特点回收时机典型场景强引用Object obj new Object()默认引用类型对象不可达时回收普通对象创建软引用SoftReferenceObject ref new SoftReference(obj)内存不足时回收OOM 前触发缓存如图片缓存弱引用WeakReferenceObject ref new WeakReference(obj)下一次 GC 时回收临时缓存如 WeakHashMap虚引用PhantomReferenceObject ref new PhantomReference(obj, queue)随时可能回收需配合 ReferenceQueue 使用堆外内存回收监听如 DirectByteBuffer 三、何时触发垃圾回收 GC 触发时机由 内存区域分配策略 和 JVM 配置参数 共同决定 1. 分代回收策略 区域GC 类型触发条件新生代Minor GCEden 区空间不足老年代Major GC老年代空间不足通常伴随 Full GC整堆Full GC方法区不足、老年代空间不足、手动调用 System.gc() 2. 手动触发与注意事项 System.gc()建议 JVM 触发 Full GC不保证立即执行。 风险频繁 Full GC 会导致应用停顿Stop-The-World需谨慎使用。 四、垃圾回收算法与实现 1. 基础算法对比 算法步骤优点缺点适用场景标记-清除标记存活对象 → 清除未标记对象简单内存碎片化老年代CMS复制算法存活对象复制到新区域 → 清空原区域无碎片高效内存利用率 50%新生代Survivor标记-整理标记存活对象 → 整理到内存一端无碎片化整理耗时老年代Serial Old 2. 分代收集理论 弱分代假说绝大多数对象朝生夕灭新生代。 强分代假说熬过多次 GC 的对象难以消亡老年代。 分代设计 新生代使用复制算法Eden Survivor。 老年代使用标记-清除或标记-整理算法。 3. 新生代回收Apple式复制算法 内存划分 Eden : Survivor1 : Survivor2 8:1:1默认。 回收流程 新对象分配至 Eden 区。 Eden 满时触发 Minor GC存活对象复制到 Survivor1。 下次 Minor GC 时Eden 和 Survivor1 存活对象复制到 Survivor2并清空原区域。 对象年龄达到阈值默认 15后晋升老年代。 五、主流垃圾收集器详解 1. CMS 收集器低停顿优先 目标最小化应用停顿时间。 算法标记-清除。 工作流程 初始标记STW标记 GC Roots 直接关联对象。 并发标记遍历对象图与用户线程并发。 重新标记STW修正并发标记期间变动的引用。 并发清除清理垃圾与用户线程并发。 缺点 内存碎片化需定期 Full GC 整理。 并发阶段占用 CPU 资源。 2. G1 收集器平衡吞吐与延迟 目标可预测的停顿时间如 200ms 内。 内存布局将堆划分为多个 Region默认 2048 个。 工作流程 初始标记STW标记 GC Roots 直接关联对象。 并发标记遍历对象图与用户线程并发。 最终标记STW处理剩余引用变更。 筛选回收STW选择性价比高的 Region 回收。 优势 支持大内存TB 级。 通过 Region 划分减少碎片化。 3. 收集器对比 收集器算法区域特点适用场景CMS标记-清除老年代低停顿但碎片化严重响应敏感型应用G1标记-整理全堆可预测停顿兼顾吞吐与延迟大内存、低延迟应用 六、调优建议与工具推荐 1. 参数配置示例 # 使用 G1 收集器堆内存 4G目标停顿 200ms java -Xmx4G -Xms4G -XX:UseG1GC -XX:MaxGCPauseMillis200 -jar app.jar# 启用 CMS 收集器 -XX:UseConcMarkSweepGC -XX:CMSIncrementalMode 2. 常见问题排查 频繁 Full GC 检查内存泄漏如静态集合未清理。 调整新生代与老年代比例-XX:NewRatio。 长时间 STW 切换低延迟收集器如 G1/ZGC。 减少堆内存大小权衡吞吐与停顿。 3. 工具推荐 监控工具VisualVM、JConsole、Prometheus Grafana。 日志分析GCeasy、GCViewer。 诊断工具Arthas、MATMemory Analyzer Tool。 七、总结 生死判定可达性分析是核心finalize() 是最后的逃生机会。 引用分级软、弱引用优化内存敏感场景。 算法选择分代理论平衡效率与资源利用率。 收集器选型CMS 适合低延迟G1 适合大内存与可预测停顿。 核心原则结合业务需求与监控数据动态调优避免盲目配置。
http://www.hkea.cn/news/14346736/

相关文章:

  • 在哪里做百度网站谷歌seo 优化
  • 北京最好的网站制作公司wordpress 添加列表
  • 想在网上做设计接单有没有网站谷城做网站
  • 郑州做网站哪家公司最好池州做网站培训
  • 制作表情包的软件app西青seo
  • 网站建设 提成太原网站建设小程序
  • 婚纱摄影行业网站做商业网站去哪里弄好
  • 铁道部建设管理司网站windowxp做网站服务器
  • 类似qq空间的网站实木家具全屋定制十大名牌
  • 使用dw做门户网站深圳骏域网站建设专家88
  • 网站备案被注销怎么办2022百度收录越来越难了
  • 黑群晖的做网站文件甘南网站设计公司
  • 个人设计网站论文摘要电子商务做网站实训体会
  • 怀柔网站制作公司怎么仿网站链接
  • IT男做网站wordpress django
  • 网站建设企业蛋糕小程序服务器多少钱
  • 企业网站管理系统免费东莞营销外包公司
  • 温州建设工程监理管理学会网站wordpress淘宝客模板免费下载
  • 邯郸做网站的地方wordpress 注册 攻击
  • 低价网站建设推广报价电商网站开发流程
  • 西安网站建设联系方式网站开发文件上传到服务器
  • 做美食直播哪个网站好物流网站制作目的
  • 想花钱做网站怎么做云南seo网络优化师
  • 免费网站建设是什么企业手机端网站源码
  • dede如何手机网站和电脑网站的数据同步更新深圳网站建设套餐
  • 网站开发语言啥意思淘宝网站怎么做链接地址
  • 如何扫描一个网站的漏洞网站开发 北京
  • 下载flash网站敬请期待的句子
  • 东莞网络营销师培训学校如何进行搜索引擎优化?
  • 网站建设 事业单位 安全项城市建设规划局网站