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

好看的网站页面设计网站软件定制开发制作

好看的网站页面设计,网站软件定制开发制作,ppt下载免费网站,麦包包的网站建设目录 GC 回收机制 垃圾回收(Garbage Collection, GC) 垃圾回收算法 JVM 分代回收策略 1. 新生代 2. 老年代 GC Log 分析 引用 GC 回收机制 垃圾回收(Garbage Collection, GC) 垃圾就是内存中已经没有用的对象#xff0c;JVM 中的垃圾回收器(Garbage Collector)会自…目录 GC 回收机制 垃圾回收(Garbage Collection, GC) 垃圾回收算法 JVM 分代回收策略 1. 新生代 2. 老年代  GC Log 分析 引用 GC 回收机制 垃圾回收(Garbage Collection, GC) 垃圾就是内存中已经没有用的对象JVM 中的垃圾回收器(Garbage Collector)会自动回收Java 虚拟中使用“可达性分析”算法来决定对象是否可以被回收。如下图 以 GC Root 作为起始点 从这些节点开始向下搜索所走过的路径称为引用链最后通过判断对象的引用链是否可达来决定对象是否可以被回收。例如上图中对象 A, B, C, D, E 与 GC Root 之间都存在一条直接或间接的引用链这也代表他们与 GC Root 之间是可达的因此它们是不能被 GC 回收掉的。而对象 M, K 虽然被对象 J 引用到但是并不存在一条引用链连接 GC Root所以 GC 回收时只要遍历到 J, K, M 这三个对象就会将它们回收。 在 Java 中有以下几种对象可以作为 GC Root 1. Java 虚拟机栈局部变量表中引用的对象 2. 方法区中静态引用指向的对象 3. 仍处于存活状态中的线程对象 4. Native 方法中 JNI 引用的对象 垃圾回收算法 1. 标记清除算法(Mark and Sweep GC) 从 “GC Roots” 集合开始将内存整个遍历一次保留所有可以被 GC Roots 直接或间接引用到的对象而剩下的对象都当作垃圾并回收。 过程分两步 Mark 标记阶段找到内存中所有的 GC Root 对象只要和 GC Root 直接或间接相连则标记为灰色存活对象否则标记为黑色垃圾对象 Sweep 清除阶段遍历完所有的 GC Root 之后则将标记为垃圾的对象直接删除。 优点实现简单不需要将对象进行移动 缺点需要中断进程内其它组件的执行即Stop the world并且可能产生内存碎片提高了垃圾回收的频率。  2. 复制算法(Copying) 将现有的内存空间分为两块每次只使用其中一块。在垃圾回收时将正在使用的内存中的存活对象复制到未被使用的内存块中之后清除正在使用的内存块中的对象交换两个内存的角色完成垃圾回收。 优点按顺序分配内存即可实现简单、运行高效不用考虑内存碎片 缺点可用的内存大小缩小为原来的一半对象存活率高时会频繁进行复制。 3. 标记-压缩算法(Mark-Compact) 需要先从根节点开始对所有可达对象做一次标记之后并不简单的清除未标记的对象而是将所有的存活对象压缩到内存的一端最后清理边界外所有的空间。 过程分两步 Mark 标记阶段找到内存中所有的 GC Root 对象只要和 GC Root 直接或间接相连则标记为灰色存活对象否则标记为黑色垃圾对象 Compact 压缩阶段将剩余存活对象按顺序压缩到内存的某一端。 优点即避免了碎片的产生又不需要两块相同的内存空间其性价比比较高 缺点所谓压缩操作仍需要进行局部对象移动一定程度上还是降低了效率。  JVM 分代回收策略 Java 虚拟机根据对象存活的周期不同把堆内存划分为新生代、老年代这就是 JVM 的内存分代策略。 1. 新生代 新生成的对象优先存放在新时代中存活率很低。新生代中常规的一次 GC  一般可以回收 70%~ 90% 的空间回收率很高。所有在新时代中采用的GC 回收算法是复制算法。 新生代细分为3个部分Eden, Survivor0(简称 S0), Survivor1(简称 S1)这三部分按照 8 : 1 : 1的比例来划分新生代。 2. 老年代  一个对象如果在新生代存活了足够长的时间(15次 GC 后仍存活)而没有被清理掉则会被复制到老年代。老年代的内存大小一般比新生代大能存放更多的对象。如果对象比较大如长字符串或者大数组并且新生代的剩余空间不足则这个大对象会直接被分配到老年代。可以使用  -XX:PretenureSizeThreshold 来控制直接升入老年代的对象大小。因为对象的生命周期较长不需要过多的复制操作所以一般采用标记压缩的回收算法。 GC Log 分析 为了让上层应用开发人员更加方便的调试 Java 程序JVM 提供了相应的 GC 日志。在 GC 执行垃圾回收事件的过程中会有各种相应的 log 被打印出来。其中新生代和老年代所打印的日志是有区别的 新生代 GC 这一区域的 GC 叫做 Minor GC。因为 Java 对象大多都具备朝生夕灭的特性所以 Minor GC 非常频繁一般回收速度也比较块。 老年代 GC 发生在这一区域的 GC 也叫做 Major GC 或者 Full GC。当出现 Major GC经常会伴随至少一次的 Minor GC。 引用 通过 GC Roots 的引用可达性来判断对象是否存活。 JVM 中的引用关系根据引用强度的由强到弱可分为 强引用Strong Reference 软引用Soft Reference 弱引用Weak Reference 虚引用Phantom Reference
http://www.dnsts.com.cn/news/33125.html

相关文章:

  • 百度网站收录链接提交做网站链接要多少钱
  • 网站路径怎么做企业网站的建设的功能定位
  • 做网站开发找哪家公司松江专业做网站
  • led网站建设网页培训多少钱
  • 怎样注册一个网站平台遵义网红街
  • 域名对网站的影响中国网站建设公司排行榜
  • 做App和网站 聚马网站开发 项目职责
  • 如何快速进行网站开发有些网站突然无法访问
  • 余姚外贸网站建设电影网站怎么制作
  • 展示型企业网站网站Api接口怎么做
  • 网站提交百度收录wordpress循环输出
  • 成都网站建设93951吃瓜爆料就看黑料社
  • 台州云推广网站福州短视频seo网络
  • 中英文网站用同域名手机产品 网站建设
  • 众筹网站建设 网站定制开发wordpress问答插件
  • 共青城市建设局网站平度网站建设
  • django 做网站 原理网站发帖功能怎么做
  • 怎么做网站外贸如何优化自己的网站
  • 行政单位建设网站方案nodejs的网站开发
  • 广州品牌网站建设百度搜索广告怎么收费
  • 盐城哪有做网站建设的英文网站建站模板
  • 优化排名对网站不好标书制作收费标准
  • 1.电子商务网站建设的核心是( )招网站开发人员
  • 科技 公司 响应式 网站做的网站在百度搜索不到
  • 大型餐饮网站建设成品网站代理
  • 科泉网站《网站建设》期末考试
  • 如室设计网站自己做网站要钱么
  • 工商管理网站wordpress 主题 更新
  • 0网站建设的好坏可以依据的标准有百度关键词优化和百度推广
  • 福州企业网站维护深圳旅游网站建设