几张ppt全面了解jvm内存管理

看了好多jvm方面的内容觉得是时候全面总结一下了,但这却是也是一个老生常谈的问题了。想了想还是把我刚参加工作的时候做的一个分享ppt贴出来吧。

 

本文按照ppt的顺序,争取及其简要的把内存管理相关的一些内容讲清楚(其实当时讲的时候还是很清楚的):

 

第一张ppt:

按照时间先后顺序,jvm内存管理主要涉及到如下图:




第二种ppt:

类加载机制的层次结构图:



类加载机制有如下特点:

1  委托父类加载机制

2  缓存机制

 

把class文件加载到内存中都做了哪些事情:

1 存储类的类型信息

2 初始化静态变量和常量

3 生成java.lang.Class实例

 

 第三张ppt:

Java内存划分:




第四张ppt:

堆内存又划分如下:

 

 

为什么要分代?

针对不同类型的对象区别对待,提高垃圾回收效率。如,大多数对象的生命周期都比较的短,而新生代采用复制垃圾回收算法,原因很多,总而言之是适合。

 

 第五张ppt:

内存回收—堆内存回收算法

引用计数

          

采用分散式的管理方式,通过计数器记录对象是否被引用。当有引用指向对象时,此对象的计数器加一,断开引用减一。为0时回收。缺点是无法解决循环引用的问题。

跟踪收集

采用集中的管理方式,全局记录数据的引用状态,为了避免在收集过程中引用关系的变化,所以要暂停整个应用

复制(Copying)

标记-清除(Mark-Sweep)

标记-整理(Mark-Compact)

 

 第六张ppt:

复制(Copying





第七张ppt:

标记-清除(Mark-Sweep)


第八张ppt:

标记-压缩(Mark-Compact



第九张ppt:

根集合对象

(根集合对象概念,java栈,静态变量,寄存器,常量,以及记录引用关系变化的集合)



第十张ppt:

Java对象在堆中的内存分配过程和堆分代





第十一张ppt:

hotspot参数调优理论








第十二张ppt:

Hotspot内存调优途径

1 调整栈、堆内存区域的大小和所占比例

  通常新生代占堆的三分之一

2 为堆内存区域设定适当的GC回收器

方法区设定大小


第十三张ppt:

新技术展望

GCIHGC-InvisibleHeap的缩写。它是一种将Java对象从Java堆内移动到堆外,并且可以在JVM间共享这些对象的技术。

避免垃圾回收不必要的垃圾收集时间

不同JVM间的内存共享



参考文献:

1,深入java虚拟机

2,分布式JAVA应用+基础与实践 (几张gc算法回收的图从这本书中摘取,特此致敬)

3,java虚拟机详解



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值