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

fireworks8做网站织梦网如何把做网站的删掉

fireworks8做网站,织梦网如何把做网站的删掉,互联网营销公司,网站 友情链接怎么做4.4 G1#xff08;一个垃圾回收器#xff09; 定义: 取代了CMS垃圾回收器。和CMS一样时并发的。 适用场景: 物理上分区#xff0c;逻辑上分代。 相关JVM参数: -XX:UseG1GC-XX:G1HeapRegionSizesize-XX:MaxGCPauseMillistime 1) G1 垃圾回收阶段 三个回收阶段#xff0…4.4 G1一个垃圾回收器 定义: 取代了CMS垃圾回收器。和CMS一样时并发的。 适用场景: 物理上分区逻辑上分代。  相关JVM参数: -XX:UseG1GC-XX:G1HeapRegionSizesize-XX:MaxGCPauseMillistime 1) G1 垃圾回收阶段  三个回收阶段第一个是新生代回收第二个是新生代CM,第三个是混合回收。 当老年代内存超过阈值会在新生代垃圾回收时进行并发标记。然后混合收集阶段会对新生代和老年代都进行收集。 Mixed GC:收集整个新生代和部分老年代的垃圾收集,目前只有G1有这种行为 2) Young Collection新生代回收 新生代内存布局如上。 G1会把内存划分成大小相同的区域每个区域都可以独立作为伊甸园幸存区的老年代。 白色的都是空闲区域新创建的对象都在eden区图上的E。 当Eden区被占满就会触发垃圾回收并STW砸瓦鲁多。 垃圾回收时把对象通过copy算法复制进幸存区。 当幸存区对象过多或是对象年龄达到阈值就又会触发新生代垃圾回收幸存区对象部分晋升到老年代不够年龄的对象会拷贝到另一个幸存区。 3) Young Collection CM新生代回收CM 在Young GC 时会进行 GC Root 的初始标记老年代占用堆空间比例达到闻值时进行并发标记 (不会 STW)由下面的JVM 参数决定-XX:InitiatingHeapOccupancyPercentpercent (默认45%) 4) Mixed Collection(混合回收) 会对 E、S、o 进行全面垃圾回收 最终标记 (Remark)会 STW 解决并发标记阶段产生的垃圾和问题拷贝存活(Evacuation)会STW  -XX:MaxGCPauseMillisms 混合收集时新生代垃圾回收和之前一样该复制的赋值该晋升的晋升。 老年代垃圾回收会把根据设定参数最大暂停时间进行有选择的垃圾回收 那些内存超过阈值的老年代也会复制到别的老年代区域。堆内存较大老年代垃圾回收因为复制时间较长会超过最大暂停时间所以G1会挑出回收价值最高部分释放内存多的区域。 5) Full GC概念辨析 SerialGC串行 新生代内存不足发生的垃圾收集 - minor gc        老年代内存不足发生的垃圾收集 - ful gc ParallelGC并行 新生代内存不足发生的垃圾收集 - minor gc        老年代内存不足发生的垃圾收集 - full gc CMS 并发 新生代内存不足发生的垃圾收集 - minor gc        老年代内存不足 G1   并发 新生代内存不足发生的垃圾收集 - minor gc        老年代内存不足 四个垃圾收集器在新生代内存不足时都会触发minor gc。 G1在垃圾回收速度跟不上垃圾产生的速度并发收集失败退化为多线程full GC。CMS是单线程full GC。  CMS和G1在回收速度高于产生速度时不会有Full GC。  6) Young Collection 跨代引用 在新生代垃圾回收查找根对象时部分对象来自老年代。老年代存活对象非常多要遍历查找的话效率低下因此采用卡表的技术将老年代区域再次细分。如果老年代其中有个对象应用了新生代对象对应的卡标记为脏卡。 好处找GC Root不需要遍历整个老年代利于提高效率 新生代中有Remembered Set记录外部对它的引用记录有哪些脏卡区域。 引用变更会由单独线程进行工作 7) Remark重新标记 在CMS中有并发标记阶段和重新标记阶段。 上图是并发标记阶段时对象的处理状态黑色是已经处理完成会被保留的灰色是正在处理白色的是尚未处理。 有引用的灰色和白色都会存活没有引用的白色会被当垃圾回收。 在并发标记阶段处理时用户线程改变了对c的引用导致处理C时会将其标记成白色结束后被当成垃圾回收。 别的情况: c被处理完后用户线程又改变了c的引用地址但是A已经是黑色不会再顺着A处理C.         所以并发标记结束后C依旧被认为是白色的这是不对的。 这里要对对象的应用做进一步检查就是Remark重新标记阶段。 做法: 当对象引用发生改变时写屏障代码将会执行。如上所示c被A引用后会将C放入一个队列并置为灰色。进入重新标记阶段会STW,然后将队列中对象进行检查发现有强引用就会将其变成黑色。 写屏障技术加入satb_mark_queue队列  8)JDK 8u20 宁符串去重(优化) jdk8中底层使用char数组存储每个String对象如果有大量new String动作会导致内存占用提高然后就要进行去重。除了使用之前的intern()方法进行去重。G1有了别的去重方法。 默认开启这个去重方法 9)DK 8u40 并发标记类卸载 条件如上:类的实例都被回收了某个类加载器的所有类都不再使用。 jdk的类加载器一般不会被卸载jdk的一般都是启动类加载器扩展类加载器应用的程序类加载器始终存在。对于自定义的类加载有卸载需求。  10)JDK 8u60 回收巨型对象 在G1的区域有四种区伊甸园幸存区老年代区还有这里的巨型对象区。 分布如下可能占用多个region. 当如下图所示某个的巨型对象没有被老年代引用时就可以回收了目的就是尽早回收巨型对象。 11)DK 9 并发标记起始时间的调整 G1 垃圾回收器也有一个full GC问题垃圾回收速度跟不上垃圾产生速度也会退化为full GC。 避免方法: 提前让垃圾回收开始让混合收集提前开始减少full GC发生几率。 jdk9之前要设定老年内存占比阈值。 让空挡空间足够大能够容纳并发阶段产生的浮动垃圾避免full GC发生。 这句话有点问题/ 12)JDK 9 更高效的回收 250增强180bug修复Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide, Release 12 现在最新都是ZCG了.....还好大多数企业还是jdk8或者jdk11  5.垃圾回收调优 JDK 11 Documentation - Books 使用该命令看到了虚拟机GC相关参数  jmap jconsle  MAT等工具 5.1 调优领域 垃圾回收调优近似众多调优的一个方向。GC的影响明显而已。 多个别的领域如下 5.2确定目标 cms g1 zgc低延迟paralle1gc吞吐量 选择不同的垃圾回收器 5.3 最快的 GC 是不发生 GC GC频繁就要考虑是否代码有问题。 在resultSet里设置mysql查询会导致大量数据加载到堆内存导致gc频繁甚至导致内存溢出应该加以限制。避免无用数据都放在java内存里 缓存实现可以使用如Redis等第三方缓存。 5.4 新生代调优 上面是排除所有代码问题下面才是内存调优。 建议都要从新生代开始。 每个线程在伊甸园中都会有一块私有区域叫做TLAB。 new一个对象时会先检查在tlab缓冲区中有没有可用内存有就优先在该区域进行分配。 对象分配也有线程安全问题一段线程在分配某段内存时不能让别的线程也来用会分配混乱。因此内存分配也要做并发安全保护jvm实现。 要减少线程在内存分配时的并发冲突就是用tlab,这样多个线程进行内存分配时也会有线程干扰。 正是因为大部分对选哪个用过即死才有Minor GC的时间远远低于FullGC 如何对新生代进行内存调优: 加大新生代内存 上面参数用于设置新生代的初始和最大大小设置太小导致执行大量小垃圾回收设置太大导致引发full GC,一次回收花费时间更多了。建议设置大于堆的四分之一小于堆的二分之一 。 吞吐量 程序运行时间 / 程序运行时间 垃圾回收时间 随着新生代空间变大吞吐量会开始变小。因为后边垃圾回收时间也变大了。 总原则是将新生代空间调的尽可能大。 标记整理会产生很多碎片整理的过程有很多需要判断碎片大小移动垃圾位置。 原因之一:新生代垃圾的回收都是复制算法分成标记和复制阶段复制阶段花费时间更多涉及内存块移动。  而新生代对象通常只有的少量对象可以存活。 理想内存 新生代能容纳所有[并发量*(请求响应)] 的数据幸存区大到能保留[当前活跃对象需要晋升对象] 幸存区较小会由jvm动态调整晋升阈值将对象提前晋升到老年代。 但是如果存活时间短的对象晋升到了老年代需要等到full GC才可以进行垃圾回收。 第一个是调整最大晋升阈值的参数 第二个是输出幸存区中的存活对象的年龄和占用空间的累计总和。  5.5 老年代调优 该参数是控制老年代在空间占用达到多少时进行CMS进行垃圾回收。  5.6 案例 第一个就是增加新生代内存 案例2 单次暂停时间长需要分析是那一部分的时间长可以查看GC日志。 CMS的阶段如下查看日志可以看见每一阶段耗费的时间。 cms在重新标记阶段使用了写屏障增量复制算法来提高效率的。  重新标记阶段耗费1~2s的话是因为重新标记阶段要扫描整个堆内存还要找引用。 在重新标记之前可以先对新生代做一次垃圾回收减少垃圾数量使用下面的参数开启该功能。 -XX:CMSScavengeBeforeRemark 案例三 CMS有可能由于空间不足导致并发失败或者空间碎片过大都会引发full GC。 如果GC日志里面没有并发失败和碎片过多的错误提示说明老年代空间充裕。 jdk1.7用的永久代作为方法区实现jdk1.8用的元空间。 元空间用的操作系统的容量一般比较充裕不会有元空间空间不足。 1.7以前永久代空间设小了就会触发整个区的fullGC。 定位到是永久代空间不足导致fullGC所以应该增大永久代空间。
http://www.w-s-a.com/news/566497/

相关文章:

  • 柳州网站优化搜索引擎优化方法案例
  • 什么网站比较少人做响应式网站开发周期
  • 公司网站欢迎语工作期间员工花钱做的网站
  • 新网站该如何做网站优化呢网络营销网站设计
  • 旅游门户网站模板下载做策划网站推广怎么写简历
  • 建设隔离变压器移动网站wordpress动态导航
  • 平潭建设局网站中国免费素材网
  • 虚拟主机可以做视频视频网站吗做爰全过程免费的视频网站有声音
  • 专业做家电经销的网站网络管理系统有哪几部分组成
  • 自学网站编程网站名称需要注册吗
  • 网站后台管理系统怎么添加框安徽省工程建设协会网站
  • 雨花台网站建设wordpress找回
  • 四川哪家网站推广做的好网站开发人才需求
  • 什么网站可以找手工活做一站式服务平台官网
  • 做购物网站的步骤网站核心词如何做
  • 做品牌设计网站公司网站没做301怎么做301
  • 服务流程企业网站wordpress文章的使用
  • 网站开发组合淘宝网站开发选什么类目
  • 广东手机网站建设个人电脑做网站主机
  • 健身俱乐部网站开发文档建一个网站需要什么条件
  • 买的网站模板怎么做建设行政管理部门网站
  • 怎么让百度多收录网站关键词seo深圳
  • 陕西交通建设集团网站体检个人网站设计模板田田田田田田田田
  • ae模板网站推荐安徽建筑信息平台
  • 新网站建设代理商wordpress模板商店
  • 中国十大设计素材网站wordpress发布失败
  • 江西省建设监理网站网页制作与设计是什么
  • 在招聘网站做销售怎么样网址你懂我意思正能量不用下载ios
  • 高端企业网站定制公司企业网站2000元
  • 成都网站建设:河北省建设工程质量监督网站