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

设计素材网站那个好网站怎么设置404页面

设计素材网站那个好,网站怎么设置404页面,安阳logo设计公司,网站建设与设计实训总结一、为什么要分代分代的垃圾回收策略#xff0c;是基于这样一个事实#xff1a;不同的对象的生命周期是不一样的。因此#xff0c;不同生命周期的对象可以采取不同的收集方式#xff0c;以便提高回收效率。在Java程序运行的过程中#xff0c;会产生大量的对象#xff0c;…一、为什么要分代分代的垃圾回收策略是基于这样一个事实不同的对象的生命周期是不一样的。因此不同生命周期的对象可以采取不同的收集方式以便提高回收效率。在Java程序运行的过程中会产生大量的对象其中有些对象是与业务信息相关比如Http请求中的Session对象、线程、Socket连接这类对象跟业务直接挂钩因此生命周期比较长。但是还有一些对象主要是程序运行过程中生成的临时变量这些对象生命周期会比较短比如String对象由于其不变类的特性系统会产生大量的这些对象有些对象甚至只用一次即可回收。试想在不进行对象存活时间区分的情况下每次垃圾回收都是对整个堆空间进行回收花费时间相对会长同时因为每次回收都需要遍历所有存活对象但实际上对于生命周期长的对象而言这种遍历是没有效果的因为可能进行了很多次遍历但是他们依旧存在。因此分代垃圾回收采用分治的思想进行代的划分把不同生命周期的对象放在不同代上不同代上采用最适合它的垃圾回收方式进行回收。二、如何分代如图所示虚拟机中的共划分为三个代年轻代(Young Generation)、年老代(Old Generation)和持久代(Permanent Generation)。其中持久代主要存放的是Java类的类信息与垃圾收集要收集的Java对象关系不大。年轻代和年老代的划分是对垃圾收集影响比较大的。年轻代所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。年轻代分三个区。一个Eden区两个Survivor区(一般而言)。大部分对象在Eden区中生成。当Eden区满时还存活的对象将被复制到Survivor区(两个中的一个)当这个Survivor区满时此区的存活对象将被复制到另外一个Survivor区当这个Survivor区也满了的时候从第一个Survivor区复制过来的并且此时还存活的对象将被复制“年老区(Tenured)”。需要注意Survivor的两个区是对称的没先后关系所以同一个区中可能同时存在从Eden复制过来的对象和从前一个Survivor复制过来的对象而复制到年老区的只有从第一个Survivor区过来的对象。而且Survivor区总有一个是空的。同时根据程序需要Survivor区是可以配置为多个的(多于两个)这样可以增加对象在年轻代中的存在时间减少被放到年老代的可能。新生代有划分为Eden、From Survivor和To Survivor三个部分他们对应的内存空间的大小比例为8:1:1也就是为对象分配内存的时候首先使用Eden空间经过GC后没有被回收的会首先进入From Survivor区域任何时候都会保持一个Survivorq区域(From Survivor或To Survivor)完全空闲也就是说新生代的内存利用率最大为90%。From Survivor和To Survivor两个区域会根据GC的实际情况进行互换将From Survivor区域中的对象全部复制到To Survivor区域中或者反过来将To Survivor区域中的对象全部复制到From Survivor区域中。年老代在年轻代中经历了N次垃圾回收后仍然存活的对象就会被放到年老代中。因此可以认为年老代中存放的都是一些生命周期较长的对象。GC过程中当某些对象经过多次GC都没有被回收可能会进入到年老代。或者当新生代没有足够的空间来为对象分配内存时可能会直接在年老代进行分配。持久代用于存放静态文件如今Java类、方法等。持久代对垃圾回收没有显著影响但是有些应用可能动态生成或者调用一些class例如Hibernate等在这种时候需要设置一个比较大的持久代空间来存放这些运行过程中新增的类。持久代大小通过-XX:MaxPermSize进行设置。永久代实际上对应着虚拟机运行时数据区的“方法区”这里主要存放类信息、静态变量、常量等数据。一般情况下永久代中对应的对象的GC效率非常低因为这里的的大部分对象在运行都不要进行GC它们会一直被利用直到JVM退出。三、什么情况下触发垃圾回收由于对象进行了分代处理因此垃圾回收区域、时间也不一样。GC有两种类型Scavenge GC和Full GC。Scavenge GC一般情况下当新对象生成并且在Eden申请空间失败时就会触发Scavenge GC对Eden区域进行GC清除非存活对象并且把尚且存活的对象移动到Survivor区。然后整理Survivor的两个区。这种方式的GC是对年轻代的Eden区进行不会影响到年老代。因为大部分对象都是从Eden区开始的同时Eden区不会分配的很大所以Eden区的GC会频繁进行。因而一般在这里需要使用速度快、效率高的算法使Eden去能尽快空闲出来。对整个堆进行整理包括Young、Tenured和Perm。Full GC因为需要对整个块进行回收所以比Scavenge GC要慢因此应该尽可能减少Full GC的次数。在对JVM调优的过程中很大一部分工作就是对于FullGC的调节。有如下原因可能导致Full GC· 年老代(Tenured)被写满· 持久代(Perm)被写满· System.gc()被显示调用·上一次GC之后Heap的各域分配策略动态变化以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。
http://www.zqtcl.cn/news/426581/

相关文章:

  • 免费的网站空间注册空壳公司判几年
  • 网站怎么运营推广达美网站建设
  • 江苏建设人才网网站中国最新时事新闻
  • 网站建立时间毕节地seo
  • 央企网站建设意义长沙网约车
  • 广告联盟怎么建设网站做贸易 公司网站放哪里
  • 北京建设局网站首页开发游戏用什么软件
  • 做淘宝客网站能接广告吗网站悬浮二维码
  • 重庆自助建站模板网站建设juxinghulian
  • 优惠券网站怎么搭建宝安中心区规划
  • 网站建设中怎么添加源码会计常用的三个软件
  • vk汉化网站谁做的购物网站设计公司
  • 门户网站建设平台建设招标项目常挂网站有哪些
  • 公司海外网站建设龙海市城乡规划建设局网站
  • 温州哪里做网站设计seo报名在线咨询
  • 四川住房和城乡建设厅进不去网站网站专题方案
  • 企业网站维护服务做网站设计都需要什么软件
  • jsp电商网站开发教程盐城网站建设制作
  • 企业解决方案网站做企业官网多少钱
  • 宁波网站建设哪家比较好怎麽做网站
  • 诸塈市建设局网站做移动网站开发
  • 南京建站公司网站网站视频源码地址
  • 德阳建设局网站做公众号首图的网站
  • 南阳网站优化渠道山西太原最新消息
  • 发布做网站需求qq群centos wordpress 建站教程
  • 东阳网站建设yw126南京网站改版
  • discuz视频网站模板徐州专业网站建设公司哪家好
  • 网站开发投资成本Wordpress显示成缩略图
  • 网站域名和网站网址吗中东跨境电商平台有哪些
  • 常宁市城乡和住房建设网站怎样加强文化建设