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

现在做网站到底需要多少钱南昌那个公司做网站好

现在做网站到底需要多少钱,南昌那个公司做网站好,看不到图片 wordpress,电商培训机构哪家强垃圾检测通常通过建立一个根对象的集合以及建立一个从这些根对象开始能够触及的对象集合来实现。如果正在执行的程序可以访问到根对象和某个对象之间存在引用路径#xff0c;这个对象就是可触及的。对于程序来说#xff0c;根对象总是可以访问的。从这些根对象开始#xff0…垃圾检测通常通过建立一个根对象的集合以及建立一个从这些根对象开始能够触及的对象集合来实现。如果正在执行的程序可以访问到根对象和某个对象之间存在引用路径这个对象就是可触及的。对于程序来说根对象总是可以访问的。从这些根对象开始任何可以被触及的对象都被认为是“活动”的对象。无法被触及的对象被认为是垃圾。虚拟机的根对象集合根据实现不同而不同包含局部变量中的对象引用和栈帧的操作数栈以及类变量中的对象引用、被加载的类的常量池中的对象引用比如字符串、传递到本地方法中的没有被本地方法释放的对象引用。任何被根对象引用的对象都是可触及的从而是活动的任何被活动的对象引用的对象都是可触及的程序可以访问任何可触及的对象所以这些对象应用留在堆中而对于那些不可触及的对象程序没有办法访问它们应该被收集和释放。区分活动对象和垃圾的两个基本方法是引用计数和跟踪。引用计数垃圾收集器通过为堆中的每个对象保存一个计数来区分活动对象和垃圾对象。这个计数记录下这个对象的引用次数。跟踪垃圾收集器实际上追踪从根节点开始的引用图。在追踪中遇上的对象以某种方式打上标记当追踪结束时没有被打上标记的对象就被判定是不可触及的可以被当作垃圾收集。引用计数算法给对象添加一个引用计数器每当一个地方引用它时数据器加1当引用失效时计数器减1计数器为0的即可被回收。优点实现简单判断效率高缺点很难解决对象之间的相互循环引用objA.instance objB; objB.instance objA的问题所以java语言并没有选用引用计数法管理内存根搜索算法Java和C#都是使用根搜索算法来判断对象是否存活。通过一系列的名为“GC Root”的对象作为起始点从这些节点开始向下搜索搜索所有走过的路径称为引用链Reference Chain,当一个对象到GC Root没有任何引用链相连时用图论来说就是GC Root到这个对象不可达时证明该对象是可以被回收的。在Java中这些对象可以成为GC Root虚拟机栈栈帧中的本地变量表中的引用对象方法区中的类静态属性引用的对象方法区中的常量引用对象本地方法栈中JNI即Native方法的引用对象标记-清除算法标记-清除算法是一种常见的基础垃圾收集算法它将垃圾收集分为两个阶段标记阶段标记出可以回收的对象。清除阶段回收被标记的对象所占用的空间。63707281.jpeg标记-清除算法主要有两个缺点一个是标记和清除的效率不高另一个从图中就可以看出就是容易产生大量不连续的内存碎片碎片太多可能会导致后续没有足够的连续内存分配给较大的对象从而提前触发新的一次垃圾收集动作。复制算法为了解决标记-清除算法的效率不高的问题产生了复制算法。它把内存空间划分为两个相等的区域每次只使用其中一个区域。在垃圾收集时遍历当前使用的区域把存活对象复制到另一个区域中最后将当前使用的区域的可回收的对象进行回收。90984624.jpeg这种算法每次都对整个半区进行内存回收不需要考虑内存碎片的问题代价就是使用内存为原来的一半。复制算法的效率与存活对象的数目多少有很大的关系如果存活对象很少复制算法的效率就会很高。由于绝大多数对象的生命周期很短并且这些生命周期很短的对象都存于新生代中所以复制算法被广泛应用于新生代中。标记-压缩算法在新生代中可以使用复制算法但是在老年代就不能选择复制算法因为老年代对象存活率会较高这样会有较多的复制操作导致效率变低。标记-清除算法可以应用在老年代中但是效率不高在内存回收后容易产生大量内存碎片。因此就出现了一种标记-压缩算法与标记-清除算法不同的是在标记可回收的对象后将所有存活的对象压缩到内存的一端使它们紧凑地排列在一起然后对边界以外的内存进行回收回收后已用和未用的内存都各自一边。94057049.jpeg标记-压缩算法解决了标记-清除算法效率低和容易产生大量内存碎片的问题它被广泛应用于老年代中。分代收集算法分代收集算法会结合不同的收集算法来处理不同的空间因此在学习分代收集算法之前我们首先要了解Java堆区的空间划分。Java堆区的空间划分在Java虚拟机中各种对象的生命周期会有着较大的差别大部分对象生命周期很短暂少部分对象生命周期很长有的甚至与应用程序以及Java虚拟机的运行周期一样长。因此应该对不同生命周期的对象采取不同的收集策略根据生命周期长短将它们放到不同的区域并在不同的区域采用不同的收集算法这就是分代的概念。现在主流的Java虚拟机的垃圾收集器都采用分代收集算法。Java堆区基于分代的概念分为新生代和老年代其中新生代再细分为Eden空间、From Survivor空间和To Survivor空间。因为Eden空间中的大多数生命周期很短所以新生代的空间划分并不是均分的HotSpot虚拟机默认Eden空间和两个Survivor空间的所占的比例为8:1。根据Java堆区的空间划分垃圾收集的类型分为两种它们分别如下Minor Collection新生代垃圾收集。Full Collection对老年代进行收集又可以称作Major CollectionFull Collection通常情况下会伴随至少一次的Minor Collection它的收集频率较低耗时较长。当执行一次Minor Collection时Eden空间的存活对象会被复制到To Survivor空间并且之前经过一次Minor Collection 并在From Survivor空间存活的仍年轻的对象也会复制到To Survivor空间。有两种情况Eden空间和From Survivor空间存活的对象不会复制到To Survivor空间 而是晋升到老年代。一种是存活的对象的分代年龄超过-XX:MaxTenuringThreshold用于控制对象经历多少次Minor GC 才晋升到老年代所指定的阈值。另一种是To Survivor空间容量达到阈值。当所有存活的对象被复制到To Survivor空间或者晋升到老年代也就意味着Eden空间和From Survivor空间剩下的都是可回收对象。这个时候GC执行Minor CollectionEden空间和From Survivor空间都会被清空新生代存活的对象都存放在To Survivor空间。接下来将From Survivor空间和To Survivor空间互换位置也就是此前的From Survivor空间成为了现在的To Survivor空间每次Survivor空间互换都要保证To Survivor空间是空的这就是复制算法在新生代中的应用。在老年代则会采用标记-压缩算法或标记-清除算法。
http://www.zqtcl.cn/news/112414/

相关文章:

  • 国外建站主机帝国手机网站cms系统
  • 响应式网站建设哪家好网站空间支付方式
  • 腾讯广告建站工具贵州企业网站建设价格
  • 最新的网站建设架构wordpress管理员头像
  • 手机网站模版化工网站建设公司
  • 网站建设 会计分录北京网站建设主页
  • 北京市建设监理协会网站网站一般多少钱
  • 做网站零成本网站如何做成app
  • 建小网站多少钱深圳网站备案注销
  • 海淘网站是谁做的为该网站做自适应
  • php网站开发自学如何做x响应式网站
  • 吴忠网站建设公司随州网站建设优化推广渠道
  • dedecms 招聘网站网站建设市场调研报告
  • 建小网站多少钱做会计网站的流程
  • 为一个村做网站优秀文创产品设计案例及分析
  • 山东专业网站建设公司哪家好网站开发的薪资是多少
  • 无极在线网站播放烟台注册公司
  • 网站源文件修改科技网站欣赏
  • 关于h5的网站目录 首页 wordpress
  • 包头网站建设推广手机网站开发介绍
  • 网站推广设计用那种语言做网站比较好
  • 手机品牌网站如何做好网站内更新
  • 订餐网站模板下载毕业设计动漫网页设计
  • 网站阵地建设管理办法移动端网页界面设计
  • 网站和做游戏重庆市建设工程信息网安全监督特种人员
  • 沈阳网站建设活动方案部分网站打不开的原因
  • 网站维护界面设计做的网站一直刷新
  • 国外网站 国内访问速度土木工程毕业设计网站
  • 宿迁网站建设制作中国广告设计网
  • 上门做美容的有什么网站微信网页版本