JAVA虚拟机工作原理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JVM的体系结构之内存回收 二、 JVM中自动内存回收机制 (1)引用计数收集器 原理: 引用计数是标识Heap中对象状态最明显的一种方法,引用计数的方法简单来说就是对每一个对象都提供一个关联的引用计数,以此来标识该对象是否被使用,当这个计数为零时,说明这个对象已经不再被使用了。 优点: 引用计数的好处是可以不用暂停应用,当计数变为零时,即可将此对象的内存空间回收,但它需要给每个对象附加一个关联引用计数 缺点: 并且引用计数无法解决循环引用的问题,因此JVM并没有采用引用计数。 第三十一页,共三十五页。 JVM的体系结构之内存回收 (2)跟踪收集器 原理: 跟踪收集器的方法为停止应用的工作,然后开始跟踪对象,跟踪时从对象根开始沿着引用跟踪,直到检查完所有的对象。 根对象的来源主要有三种: 1.被加载的类的常量池中的对象引用 2.传到本地方法中,没有被本地方法“释放”的对象引用 3.虚拟机运行时数据区中从垃圾收集器的堆中分配的部分 存在问题: 跟踪收集器采用的均为扫描的方法,但JVM将Heap分为了新生代和旧生代,在进行minor GC时需要扫描是否有旧生代引用了新生代中的对象,但又不可能每次minor GC都扫描整个旧生代中的对象,因此JVM采用了一种称为卡片标记(Card Marking)的算法来避免这种现象。 第三十二页,共三十五页。 JVM的体系结构之内存回收 (3)卡片标记算法 卡片标记的算法为将旧生代以某个大小(例如512字节)进行划分,划分出来的每个区域称为卡片,JVM采用卡表维护卡的状态,每张卡片在卡表中占用一个字节的标识(有些JVM实现可能会不同),当Java代码执行过程中发现旧生代的对象引用或释放了对于新生代对象的引用时,就相应的修改卡表中卡的状态,每次Minor GC只需扫描卡表中标识为脏状态的卡中的对象即可,图示如下: 第三十三页,共三十五页。 JVM的体系结构之内存回收 1、跟踪收集器在扫描时最重要的是要根据这些对象是否被引用来标识其状态 2、JVM中将对象的引用分为了四种类型,不同的对象引用类型会造成GC采用不同的方法进行回收: (1)强引用:默认情况下,对象采用的均为强引用 (这个对象的实例没有其他对象引用,GC时才会被回收) (2)软引用:软引用是Java中提供的一种比较适合于缓存场景的应用 (只有在内存不够用的情况下才会被GC) (3)弱引用:在GC时一定会被GC回收 (4)虚引用:由于虚引用只是用来得知对象是否被GC 第三十四页,共三十五页。 内容总结 淘宝技术大学 应届生培训。(1)Class actionClass=Class.forName(外部实现类)。最后一步:执行获取的constructorAccessor.newInstance,这步和标准的方法调用没有任何区别。(1)对新生代的对象的收集称为minor GC,。(2)对旧生代的对象的收集称为Full GC,。(3)程序中主动调用System.gc()强制执行的GC为Full GC,。3.虚拟机运行时数据区中从垃圾收集器的堆中分配的部分。(只有在内存不够用的情况下才会被GC)。(3)弱引用:在GC时一定会被GC回收 第三十五页,共三十五页。 * * * * * * * * * * * * * * * * * * * * * * * * 淘宝技术大学 应届生培训 JVM工作原理 课程组:雷卷 小邪 九穆 版本:第一版2009年 第一页,共三十五页。 达到的目标 知道Java虚拟机的生存周期 知道JVM的体系结构 知道JVM体系结构中的各个部分 能对JVM有个大致清晰的了解 第二页,共三十五页。 内容 JVM的生命周期 JVM的体系结构 JVM类加载器 JVM执行引擎 JVM运行时数据区 JVM垃圾回收 问题 第三页,共三十五页。 JVM的生命周期 一、首先分析两个概念 JVM实例和JVM执行引擎实例 (1)JVM实例对应了一个独立运行的java程序 它是进程级别 (2)JVM执行引擎实例则对应了属于用户运行程序的线程 它是线程级别的 第四页,共三十五页。 JVM的生命周期 二、JVM的生命周期 (1)JVM实例的诞生 当启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(

文档评论(0)

虾虾教育 + 关注
官方认证
文档贡献者

有问题请私信!谢谢啦 资料均为网络收集与整理,收费仅为整理费用,如有侵权,请私信,立马删除

版权声明书
用户编号:8012026075000021
认证主体重庆皮皮猪科技有限公司
IP属地重庆
统一社会信用代码/组织机构代码
91500113MA61PRPQ02

1亿VIP精品文档

相关文档