JVM 深入理解java虚拟机
2021-04-13 11:06:05 87 举报
AI智能生成
JVM 深度学习解析 目前只更新到初篇和中篇,下篇会陆续更新,目前主更新Spring源码解析和企业级应用案例,如果感兴趣的小伙伴加q咨询812234271@qq.com
作者其他创作
大纲/内容
JVM内存模型
图解
1.类的加载子系统
详细图解
类的加载子系统
类加载子系统的作用
类的加载子系统
类的加载
链接
验证
准备
解析
初始化
2.运行时的数据区
图解
看图了解数据区内部结构
程序计数器(PC寄存器)
问题:为什么使用pc寄存器记录当前线程执行的地址呢
虚拟机栈
问题:栈中可能存在的异常
说说你的解决方案
栈运行的原理
看图比比叨
栈的存储单位(栈帧)
图解
局部变量表
操作数栈
动态链接
方法的返回地址
一些其他的赋值
问题:常量池的作用
问题:什么是栈顶缓存技术
图解
方法的调用
虚方法和非虚方法
图解
方法重写的本质
图解
本地方法栈
解析
图解
Heap(堆区)
新生代和老年代
新生代和老年代占比参数如何设置
图解
如何查看新生代和老年代占比
新生代
图解
对象创建的概述
堆空间
如何设置堆空间的大小
图解
内存分配策略是什么样的
图解
堆空间都是线程共享的么?JVM首选的策略
图解
堆空间参数设置小结
图解
问题:新生代分配占比是不是越高越好
问题:没MinorGc之前的检查机制是怎样的(空间分配担保)
图解
垃圾回收
图解
什么时候进行垃圾回收
为什么频繁的GC会影响性能
方法区
图解
类型信息
域信息
方法信息
3.执行引擎
4.对象创建6大步骤有哪些
图解
5.对象的内存布局
(对象头都有哪些结构?)
(对象头都有哪些结构?)
图解
6.JVM如何通过栈帧上的对象引用访问到其内部的对象实例呢?
什么是句柄指针
图示
什么是直接指针
图示
句柄访问和直接指针的优缺点
7.如果OOM直接dump文件到jvisualvm查看发现文件比较小,又发生了oom
图解
8.String字符串拼接操作
问题一,直接赋值和拼接存储地址是同一个么
子主题
问题二,如果拼接的过程中有变量拼接还是否相等
图解
字符创拼接的具体细节
intern
9.垃圾回收GC
什么是垃圾
为什么进行GC
算法概述
标记阶段:引用计数算法
什么是引用计数算法
优点
缺点
标记阶段:可达性分析算法
什么可以作为GC Roots
图解
还有呢?
对象的finalization机制
图解
为什么不建议去调用对象的finalization的方法
图解
MAT与JProfiler的GC Roots溯源
清除阶段:标记-清除算法
图解
缺点是什么?
图解
清除阶段:复制算法
优缺点
图解
清除阶段:标记-压缩算法
执行过程
图解
优缺点
图解
对比三种算法
图解
0 条评论
下一页