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

电商行业网站建设及维护百度广告开户流程

电商行业网站建设及维护,百度广告开户流程,wordpress 数据库下载,wordpress访问量插件转载自 JVM 调优系列之图解垃圾回收摘要: jvm必知系列#xff0c;总结一些常见jvm回收机制#xff0c;方便查阅从这篇开始我们开始探讨一些jvm调优的问题。在jvm调优中一个离不开的重点是垃圾回收#xff0c;当垃圾回收成为系统达到更高并发量的瓶颈时#xff0c;我们就需…转载自  JVM 调优系列之图解垃圾回收摘要: jvm必知系列总结一些常见jvm回收机制方便查阅从这篇开始我们开始探讨一些jvm调优的问题。在jvm调优中一个离不开的重点是垃圾回收当垃圾回收成为系统达到更高并发量的瓶颈时我们就需要对jvm中如果进行“自动化”垃圾回收技术实施必要的监控和调节。对于调优之前我们必须要了解其运行原理java 的垃圾收集Garbage Collection 通常被称为“GC”它诞生于1960年 MIT 的 Lisp 语言经过半个多世纪目前已经十分成熟了。因此本篇主要从这三个方面来了解:1. 哪些对象需要被回收2. 什么时候回收3. 如何回收谁要被回收java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同是数据区域这些区域有各自各自的用途。主要包含以下几个部分组成程序计数器 程序计数器占用的内存空间我们可以忽略不计它是每个线程所执行的字节码的行号指示器。虚拟机栈 java的虚拟机栈是线程私有的生命周期和线程相同。它描述的是方法执行的内存模型。同时用于存储局部变量、操作数栈、动态链接、方法出口等。本地方法栈 本地方法栈类似虚拟机栈它调用的是是native方法。堆 堆是jvm中管理内存中最大一块。它是被共享存放对象实例。也被称为“gc堆”。垃圾回收的主要管理区域方法区 方法区也是共享的内存区域。它主要存储已被虚拟机加载的类信息、常量、静态变量、即时编译器jit编译后的代码数据。以上就是jvm在运行时期主要的内存组成我们看到常见的内存使用不但存在于堆中还会存在于其他区域虽然堆的管理对程序的管理至关重要但我们不能只局限于这一个区域特别是当出现内存泄露的时候我们除了要排查堆内存的情况还得考虑虚拟机栈的以及方法区域的情况。知道了要对谁以及那些区域进行内存管理我还需要知道什么时候对这些区域进行垃圾回收。什么时候回收在垃圾回收之前我们必须确定的一件事就是对象是否存活这就牵扯到了判断对象是否存活的算法了。引用计数算法 给对象中添加一个引用计数器每当有一个地方引用它时计数器1当引用失效计数器-1.任何时刻计数器为0的对象就是不可能再被使用的。优点实现简单判定效率高效被actionscript3和python中广泛应用。缺点无法解决对象之间的相互引用问题。java没有采纳可达性分析算法 通过一系列称为“GC Roots”的对象作为起始点从这些节点开始向下搜索搜索所走过的路径称为引用链当一个对象到GCRoots没有任何引用链相连的时候则证明此对象是不可用的。比如如下右侧的对象是到GCRoot时不可达的可以判定为可回收对象。在java中可以作为GCRoot的对象包括以下几种* 虚拟机栈中引用的对象。* 方法区中静态属性引用的对象。* 方法区中常量引用的对象。* 本地方法中JNI引用的对象。基于以上我们可以知道当当前对象到GCRoot中不可达时候即会满足被垃圾回收的可能。那么是不是这些对象就非死不可也不一定此时只能宣判它们存在于一种“缓刑”的阶段要真正的宣告一个对象死亡。至少要经历两次标记第一次对象可达性分析之后发现没有与GCRoots相连接此时会被第一次标记并筛选。第二次对象没有覆盖finalize方法或者finalize方法已经被虚拟机调用过此时会被认定为没必要执行。如何回收上述的两点讲解之后我们大概明白了哪些对象会被回收以及回收的依据是什么但回收的这个工作实现起来并不简单。首先它需要扫描所有的对象鉴别谁能够被回收其次在扫描期间需要 ”stop the world“ 对象能被冻结不然你刚扫描他的引用信息有变化你就等于白做了。分代回收 我们从一个object1来说明其在分代垃圾回收算法中的回收轨迹。1、object1新建出生于新生代的Eden区域。2、minor GCobject1 还存活移动到Fromsuvivor空间此时还在新生代。3、minor GCobject1 仍然存活此时会通过复制算法将object1移动到ToSuv区域此时object1的年龄age1。4、minor GCobject1 仍然存活此时survivor中和object1同龄的对象并没有达到survivor的一半所以此时通过复制算法将fromSuv和Tosuv 区域进行互换存活的对象被移动到了Tosuv。5、minor GCobject1 仍然存活此时survivor中和object1同龄的对象已经达到survivor的一半以上toSuv的区域已经满了object1被移动到了老年代区域。6、object1存活一段时间后发现此时object1不可达GcRoots而且此时老年代空间比率已经超过了阈值,触发了majorGC也可以认为是fullGC但具体需要垃圾收集器来联系此时object1被回收了。fullGC会触发 stop the world。在以上的新生代中我们有提到对象的age对象存活于survivor状态下不会立即晋升为老生代对象以避免给老生代造成过大的影响它们必须要满足以下条件才可以晋升1、minor gc 之后存活于survivor 区域的对象的age会1当超过默认15的时候转移到老年代。2、动态对象如果survivor空间中相同年龄所有的对象大小的综合和大于survivor空间的一半年级大于或等于该年级的对象就可以直接进入老年代。以上采用分代垃圾收集的思想对一个对象从存活到死亡所经历的历程。期间在新生代的时刻会用到复制算法在老年代时有可能会用到标记-清楚算法mark-sweep算法或者标记-整理算法这些都是垃圾回收算法基于不同区域的实现我们看下这几种回收算法的实现原理。垃圾回收算法标记清除法Mark-Sweep 标记清除法是垃圾回收算法的思想基础。标记清除算法将垃圾分为两个阶段标记阶段和清除阶段。标记阶段通过根节点标记所有从根节点开始的可达对象未标记过的对象就是未被引用的垃圾对象。清除阶段清除所有未被标记的对象。复制算法Copying 复制算法是将原有的内存空间分为两块每次只使用其中一块在垃圾回收时将正在适用的内存中存活对象复制到未使用的内存块然后清除使用的内存块中所有的对象。标记压缩算法Mark-Compact标记压缩算法是一种老年代的回收算法。标记阶段和标记清除算法一致对可达对象做一次标记。清理阶段为了避免内存碎片产生将所有的存活对象压缩到内存的一端。垃圾收集器垃圾收集器是内存回收的具体实现不同的厂商提供的垃圾收集器有很大的差别一般的垃圾收集器都会作用于不同的分代需要搭配使用。以下是各种垃圾收集器的组合方式各种组合的优缺点以上优缺点来自http://www.importnew.com/23752.html
http://www.pierceye.com/news/355214/

相关文章:

  • 聊城网站托管义乌外贸公司联系方式
  • 开发一个小程序对网站做综合搜索引擎优化分析
  • 网站开发自学网有哪些企业可以做招聘的网站有哪些
  • 网站怎么做百度推广网站开发者模式
  • 学校网站设计制作目的做网站推广方法
  • wordpress建站云平台小程序商城开发平台
  • pc网站转换成微网站网站建设开发哪家质量好
  • wordpress网站使用教程aspnet东莞网站建设多少钱
  • 网站地图提交给百度证券公司如何拉客户
  • 做外贸有哪些免费的网站win7优化大师好不好
  • 网站功能怎么写上海网站制作建设怎么样
  • 网站域名是网站架构吗成都网站搭建优化推广
  • 自己做的网站添加交费功能合肥有什么好的网站建设公司好
  • 做网站品牌龙岩新增病例行动轨迹
  • 任家房网站建设郑州百度网站推广
  • 深圳建设网站的公司简介WordPress多功能投稿
  • 简述织梦网站上传及安怎样在网站上做免费的推广
  • 关于信用体系建设的网站wordpress新闻类模板下载
  • 免费行情软件网站下载大全爱学校vi设计案例
  • 网站外包优化怎样做免费抽皮肤的网站
  • 东八区网站建设网站源码在哪里
  • 重点建设专业 专题网站搜狗官方网站
  • 微信营销工具有哪些使用最佳搜索引擎优化工具
  • 网站推广意识薄弱wordpress授权协议
  • 用php做高中数学题库网站阿里网站建设教程
  • 大兴网站建设公司电话东莞企业网站制作怎么做
  • 网站维护有啥用2021跨境电商最火的产品
  • 专业的东莞网站排名wordpress 客户端使用
  • 做网站需要什么人才网站建设与规划案例
  • 你学做网站学了多久建设网站困难的解决办法