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

延安网站建设公司电话广州品牌策划公司排行

延安网站建设公司电话,广州品牌策划公司排行,网站排名顾问,网站建设的调查问卷内存分配和回收原则 对象优先在Eden区分配 大对象直接进入老年代 长期存活的对象进入老年代 什么是内存泄漏 不再使用的对象在系统中未被回收#xff0c;内存泄漏的积累可能会导致内存溢出 自动垃圾回收与手动垃圾回收 自动垃圾回收#xff1a;由虚拟机来自动回收对象…内存分配和回收原则 对象优先在Eden区分配 大对象直接进入老年代 长期存活的对象进入老年代 什么是内存泄漏 不再使用的对象在系统中未被回收内存泄漏的积累可能会导致内存溢出 自动垃圾回收与手动垃圾回收 自动垃圾回收由虚拟机来自动回收对象优点是降低程序员实现难度可能无法及时进行内存回收 手动垃圾回收由程序员实现对象的删除优点是能够及时回收内存编写不当可能会出现空指针重复释放内存泄漏的问题 线程私有区域的垃圾回收 线程私有的部分是随着线程的创建而创建随着线程的销毁而销毁方法的栈帧在执行完方法之后会自动弹出栈并释放掉内存。 方法区的回收 方法区回收的内容主要是不再使用的类 判定一个类是否能够卸载需要满足这几个条件 1、此类所有实例对象都已经被回收在堆中不存在任何该类的实例对象以及子类对象。 2、加载该类的类加载器已经被回收。 3、该类对应的 java.lang.Class 对象没有在任何地方被引用。 堆回收 如何判断能否回收 Java中的对象能否被回收根据对象是否被引用决定如果对象被引用了说明对象还在使用不允许回收。那怎么判断对象有没有被引用呢常见的有两种判断方法引用计数法和可达性分析法。 引用计数法为每个对象维护一个引用计数器当对象被引用时加1取消引用时减1 优点是使用简单缺点有两个一个是每次引用和取消引用需要维护引用计数器对系统性能有一定影响。另一个是存在循环引用的问题当对象A应用对象BB引用对象A时会出现对象无法回收的问题。 可达性分析算法是指通过GC Roots对象作为起点从这些节点向下搜索节点所走过的路径称为引用链当一个对象到GC Roots之间没有任何引用链相连那么该对象是可以被回收的否则不能被回收。 可被当作GC Root对象有哪些呢 线程Thread对象。 系统类加载器加载的java.lang.Class对象。 监视器对象用来保存同步锁synchronized关键字持有的对象。 本地方法调用时使用的全局对象。 几种常见的对象引用 强引用当我们声明一个变量并指向某个实例时就是强引用存在强引用关系的对象是不会被回收内存空间不足时候会抛出OutOfMemoryError 软引用是指在内存不足时回收当内存空间不足时垃圾回收器会回收它。 弱引用当垃圾回收器发现只具备弱引用的对象不论是否内存充足都会回收它 虚引用不能通过虚引用对象获取到包含的对象。作用是当对象被垃圾回收器回收时可以接收到对应的通知。 垃圾回收算法 标记-清除算法 标记可达对象(即存活对象)清除未被标记对象 缺陷有两点效率低和造成内存碎片 复制算法 将内存分成两部分每次只使用其中一部分当使用完毕将存活对象复制到另一部分然后清除掉使用过部分 缺陷有两点内存变小不适合老年代(老年代存活对象多复制性能差) 标记-整理算法 标记存活对象将存活对象向另一端移动清理掉边界外内存 优点避免内存碎片。 缺点存活的对象多移动耗时长。 HotSpot虚拟机为什么要分为新生代和老年代 可以依据各个年代特点进行垃圾回收新生代每次垃圾收集大量对象会死去因此采用标记-复制算法只需复制少量存活对象。老年代对象存活时间久因此使用标记-清除算法清楚了少量死亡对象或者标记-整理算法 分代假说 1.弱分代假说大多数对象存活时间短。 2.强分代假说熬过越多次的垃圾回收就越难以被回收。 3.跨代引用假说跨代引用的对象占少数。 垃圾收集器 Serial新生代收集器采用标记-复制算法 Serial Old老年代收集器采用标记-整理算法 ParNew新生代多线程并行收集Serial多线程版本使用标记-复制算法 Parallel Scavenge新生代多线程收集器采用标记-复制算法专注于吞吐量。吞吐量 运行用户代码时间 / (运行用户代码时间垃圾收集时间) 其他收集器则关注于用户停顿时间。 Parallel Old老年代收集器Parallel Scavenge老年代版本采用标记-整理算法 CMS收集器 步骤1.初始标记标记与GC Roots直接关联的对象 2.并发标记遍历整个对象图 3.重新标记并发标记期间用户线程继续运行会导致一部分标记变动因此需要修正。 4.并发清除清楚死亡对象。 缺点1.占用资源 2.并发清除阶段用户线程继续运行此时也会产生垃圾对象导致无法清除这部分垃圾称为浮动垃圾。 3.采用标记-清除算法产生内存碎片。 Garbage First收集器之前的收集器垃圾回收的范围很大(新生代老年代Java堆)而这个收集器将Java堆分成很多个相等大小的RegionRegion可以扮演新生代空间或者是老年代空间而垃圾回收时候回收的标准是哪块垃圾多回收价值高就回收哪块。 步骤1.初始标记标记与GC Roots直接关联的对象 2.并发标记遍历整个对象图 3.最终标记处理并发标记期间遗留的记录 4.筛选回收对Region按照回收价值排序考虑用户停顿时间制定回收计划进行回收。 JDK8默认垃圾收集器 Parallel Scavenge(新生代) Parallel Old(老年代) 未完待续
http://www.pierceye.com/news/559479/

相关文章:

  • 专业做电脑系统下载网站聚名网域名怎么备案
  • 赚钱的网站做任务南通优化网站价格
  • 个人能进行网站开发孟村网 网站
  • 上海公司做网站的韩国购物网站模板
  • 快速建站教程网视频网站开发分析
  • 一个公司的网站怎么做的北京信息网
  • 撰写网站建设技术解决方案招聘平面设计
  • 网站的数据备份和恢复我想开网站
  • 网站建设情况报告范文wordpress用户注册提醒
  • 湛江商城网站制作公司闵行建设机械网站
  • 做网站seo赚钱吗平面广告设计作品集
  • 购物中心网站建设六安政务中心网站
  • 做网站公司赚钱吗?抖音小程序推广怎么挂才有收益
  • 滁州网站建设建设银行租房平台网站6
  • h5自适应网站模板下载阿里云域名注册好了怎么做网站
  • 德州做网站多少钱网站实现搜索功能
  • 帝国cms7.0网站搬家换域名换空间等安装教程万网云虚拟主机上传网站
  • 网站建设推广接单语wordpress 所有文章
  • 申请域名后怎么做网站网站建设与维护中国出版社
  • 洛阳做网站那家好课程网站建设开题报告
  • 到哪里建网站商务网站建设学期总结
  • 铜陵app网站做营销招聘网站开发公司需要投入什么资源
  • 建购物的网站需要多少钱wordpress不显示头像
  • 如何做一个个人网站长春网站建设wang
  • 湖南省做网站的网站资讯建设
  • 滨江网站建设制作如何建设网站方便后期维护
  • dedecms手机网站插件wordpress模板中文
  • 网站建设合同封面模板下载天津专业网站设计
  • 毕业设计网站做几个2345浏览器网页版
  • 南阳市网站建设国家建设协会工程质量分会网站