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

佛山微网站建设哪家专业门网站源码

佛山微网站建设哪家专业,门网站源码,建设摩托车型号大全,wordpress feed源内存分配和回收原则 对象优先在Eden区分配 大对象直接进入老年代 长期存活的对象进入老年代 什么是内存泄漏 不再使用的对象在系统中未被回收,内存泄漏的积累可能会导致内存溢出 自动垃圾回收与手动垃圾回收 自动垃圾回收:由虚拟机来自动回收对象…

内存分配和回收原则

对象优先在Eden区分配

大对象直接进入老年代

长期存活的对象进入老年代

什么是内存泄漏

不再使用的对象在系统中未被回收,内存泄漏的积累可能会导致内存溢出

自动垃圾回收与手动垃圾回收

自动垃圾回收:由虚拟机来自动回收对象,优点是降低程序员实现难度;可能无法及时进行内存回收;

手动垃圾回收:由程序员实现对象的删除,优点是能够及时回收内存,编写不当可能会出现空指针,重复释放,内存泄漏的问题

线程私有区域的垃圾回收

线程私有的部分,是随着线程的创建而创建,随着线程的销毁而销毁,方法的栈帧在执行完方法之后会自动弹出栈并释放掉内存。

方法区的回收

方法区回收的内容主要是不再使用的类

判定一个类是否能够卸载,需要满足这几个条件:

1、此类所有实例对象都已经被回收,在堆中不存在任何该类的实例对象以及子类对象。

2、加载该类的类加载器已经被回收。

3、该类对应的 java.lang.Class 对象没有在任何地方被引用。

堆回收

如何判断能否回收

Java中的对象能否被回收,根据对象是否被引用决定,如果对象被引用了,说明对象还在使用,不允许回收。那怎么判断对象有没有被引用呢?常见的有两种判断方法,引用计数法和可达性分析法。

引用计数法为每个对象维护一个引用计数器,当对象被引用时加1,取消引用时减1

优点是使用简单,缺点有两个,一个是每次引用和取消引用需要维护引用计数器,对系统性能有一定影响。另一个是存在循环引用的问题,当对象A应用对象B,B引用对象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.并发清除:清除死亡对象;

缺点:占用一部分线程的资源;并发清除阶段,用户线程继续运行,此时也会产生垃圾对象,导致无法清除,这部分垃圾称为浮动垃圾;采用标记-清除算法,产生内存碎片,内存碎片多了之后,就无法给大对象分配内存,因此full GC会更加频繁。

Garbage First收集器:之前的收集器垃圾回收的范围很大,(新生代,老年代,Java堆),而这个收集器将Java堆分成很多个相等大小的Region,Region可以扮演新生代空间,或者是老年代空间,而垃圾回收时候,回收的标准是哪块垃圾多,回收价值高,就回收哪块。

步骤:1.初始标记:标记与GC Roots直接关联的对象;2.并发标记:遍历整个对象图;3.最终标记:处理并发标记期间遗留的记录;4.筛选回收:对Region按照回收价值排序,考虑用户停顿时间,制定回收计划,进行回收;

JDK8默认垃圾收集器

Parallel Scavenge(新生代) + Parallel Old(老年代)

未完待续


文章转载自:

http://mDH15w09.xLbyx.cn
http://ffqSG8nN.xLbyx.cn
http://IDBFAgpn.xLbyx.cn
http://vJGtYfSo.xLbyx.cn
http://EWvm6YD8.xLbyx.cn
http://Es63MjAm.xLbyx.cn
http://orqAMqHW.xLbyx.cn
http://COcRLBEe.xLbyx.cn
http://ZR1TM0nY.xLbyx.cn
http://uJENpWPn.xLbyx.cn
http://kK5e4TUL.xLbyx.cn
http://S2zj3TCD.xLbyx.cn
http://5pegtWEa.xLbyx.cn
http://Z8u6sFPQ.xLbyx.cn
http://fopifQ66.xLbyx.cn
http://zFkMzmU0.xLbyx.cn
http://1mGB80GI.xLbyx.cn
http://fE1huxK2.xLbyx.cn
http://mQJETWa8.xLbyx.cn
http://opVzgPtE.xLbyx.cn
http://wsrEFfYJ.xLbyx.cn
http://T8nNuN4W.xLbyx.cn
http://LOOvTbFI.xLbyx.cn
http://yYztMCLj.xLbyx.cn
http://nbHY5o81.xLbyx.cn
http://mVSPbg6I.xLbyx.cn
http://ry9PSDWJ.xLbyx.cn
http://ocYgAP5G.xLbyx.cn
http://N71NRaxj.xLbyx.cn
http://HaUapu9c.xLbyx.cn
http://www.dtcms.com/wzjs/615483.html

相关文章:

  • 深圳的网站建设快看看小程序入口
  • 学网站建设需要几年建站seo怎么赚钱
  • 做酒店的网站响应式设计的网站
  • 网站策划是干什么的云南网站建设效果好吗
  • 大寺网站建设公司软件开发一般多少钱
  • 做网站的网站违不违法专门查建设项目的网站
  • 2018网站如何做seo网络教育平台
  • 企业建设网站的帮助网页设计公司企业文化
  • 网站创建软件公司网站建设多少钱需要
  • 国外优秀网站模板海南房地产网站建设
  • 信誉好的苏州网站建设简易网页模板
  • 免费建设物流网站百度百度一下一下
  • 自做视频网站赚钱吗目前h5页面的制作工具有哪些
  • 手机网站开发环境搭建衡东网页设计
  • wordpress翻译制作seo网站推广 沈阳
  • 海淀专业企业网站建设zencart 网站搬家
  • 江门电商网站设计培训托福培训一对一
  • 大企业网站建设律师推广网站排名
  • 优品惠网站建设需求wordpress wordstar
  • 网站开发学生鉴定表广告发布费和广告服务费的区别
  • 企业部门网站建设流程wordpress 后台 主题
  • 金华企业网站建设公司永丰县城乡建设局网站
  • 工作牌seo的宗旨是什么
  • wordpress 主题 导入2seo对网店推广的作用
  • 网站备案照做风险投资网站
  • 手机wap网站模板使用网站标题更换
  • 用ps怎么做网站效果图网站建设的分工
  • 网站建设设计要点wordpress显示当前位置 代码
  • 网站备案不注销有什么后果设计logo的小程序
  • 建设网站所需材料大数据平台设计