jvm基础+调优+面试题

JVM学习第一天

java程序员在学学习开发中遇到的问题!!!!(是不是很有同感)!!!

jvm基础+调优+面试题jvm基础+调优+面试题

虚拟机概述

jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题

生命周期

jvm基础+调优+面试题jvm基础+调优+面试题

JVM发展历程

jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题

类加载器的作用

jvm基础+调优+面试题

类的加载过程

1.加载(Loading)
2.连接(Linking)
3.初始化(Initialization)
jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题

类加载器分类

jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题

PC寄存器(程序计数器)

jvm基础+调优+面试题jvm基础+调优+面试题

PC寄存器面试题

jvm基础+调优+面试题jvm基础+调优+面试题

运行时数据区

内存中的栈和堆

jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题

​ 特点:先进后出

队列:先进先出

栈中结构:

栈内存溢出;自己掉自己

jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题

jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题

对象分配过程

jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题

内存分配策略

jvm基础+调优+面试题

堆空间参数设置

jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题

总结

堆不是分配对象的唯一选择,经过逃逸分析逃逸后的对象可以分配在栈上,但是目前逃逸分析技术并不成熟,无法保证逃逸分析的性能消耗一定能高于他的消耗。所有目前来说所有的对象分配还是在堆上

方法区

jvm基础+调优+面试题

常量池

jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题

常见面试题

jvm基础+调优+面试题jvm基础+调优+面试题

创建对象的步骤

jvm基础+调优+面试题

String

jvm基础+调优+面试题

面试题

jvm基础+调优+面试题

jvm基础+调优+面试题

垃圾回收GC

jvm基础+调优+面试题

jvm基础+调优+面试题

jvm基础+调优+面试题

常用的垃圾回收算法

标记阶段:对象存活判断

jvm基础+调优+面试题

引用计数算法(java没有使用,容易内存泄漏)

jvm基础+调优+面试题

可达性分析算法(java选择)

jvm基础+调优+面试题jvm基础+调优+面试题

对象的finalization机制

jvm基础+调优+面试题

清除阶段

标记清除算法

jvm基础+调优+面试题jvm基础+调优+面试题

复制算法

jvm基础+调优+面试题

jvm基础+调优+面试题

标记压缩算法

jvm基础+调优+面试题

jvm基础+调优+面试题jvm基础+调优+面试题

其他

分代收集算法

jvm基础+调优+面试题

增量收集算法、分区算法

引用(强引用,软引用,弱引用,虚引用)

强引用(只要有引用,打死不回收,哪怕oom)

软引用(内存不够即回收)

弱引用(发现即回收)

虚引用(唯一目的就是能在这个对象被收集器回收时收到一个系统通知。)

jvm基础+调优+面试题

GC回收器

jvm基础+调优+面试题

jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题jvm基础+调优+面试题

小结

jvm基础+调优+面试题

jvm基础+调优+面试题

GC优化

//PicGo/image-20201014164714582.png" alt=“image-20201014164714582” style=“zoom:67%;” />

jvm基础+调优+面试题

小结

[外链图片转存中…(img-gwY8iFVN-1602665665148)]

jvm基础+调优+面试题

GC优化

jvm基础+调优+面试题