JVM
2023-08-26 17:06:57 0 举报
AI智能生成
登录查看完整内容
为你推荐
查看更多
Java虚拟机知识总结
作者其他创作
大纲/内容
加载:把class字节码文件从各个来源通过类加载器装载入内存(方法区)中
验证
准备
解析
链接
初始化:对static修饰的变量或语句进行初始化
创建对象
类加载和创建对象
双亲委派模型工作流程
SPI机制
继承ClassLoader重写loadClass方法
破坏双亲委派
类加载器
Java7 永久代(方法区)溢出
如何计算栈的深度?TODO
虚拟机栈溢出
Java 堆内存溢出
常见OOM
线上OOM排查
有了GC还会有内存泄漏问题吗?
OOM问题
程序计数器
虚拟机栈
本地方法栈
栈
什么时候触发Full GC?
如何避免full gc?
GC堆内存分配与回收
直接分配
从年轻代晋升
对象如何进入老年代?
会产生OutOfMemoryError异常
堆
1.8以前用永久代实现
1.8用元空间实现
回收方法区
方法区
运行时数据区域
常见于NIO操作时,用于数据缓冲区
直接内存是否可以被GC?
直接内存
引用计数法
可达性分析算法
哪些对象可以作为 GC Roots 呢?
引用的两次标记过程
如何判断对象是否可被回收?
标记-清除算法
标记-复制算法
标记-整理算法
分代收集算法
垃圾收集算法
Serial和Serial Old收集器
ParNew收集器
Parallel Scavenge和Parallel Old收集器
CMS收集器
优点
缺点
G1收集器,JDK9
垃圾收集器
垃圾收集
JVM
0 条评论
回复 删除
下一页