尚硅谷_宋红康_JVM从入门到精通: https://www.bilibili.com/video/BV1PJ411n7xZ?from=search&seid=12508719405042682431
jvm(java虚拟机):一次编译到处运行,自动的管理内存,自动垃圾回收,降低内存泄漏的概率
建议书籍:
P1 01-JVM内存与垃圾回收篇概述
P2 02-如何看待Java上层技术与JVM
P3 03-为什么要学习JVM
P4 04-面向人群和课程特点
P5 05-官方规范下载与参考书目
P6 06-跨平台的语言Java和跨语言的平台JVM(java虚拟机)
java 因为有jvm 成了跨平台的语言
jvm(java虚拟机): 一个抽象的计算机
除了java以外可以使用jvm(java虚拟机)
jvm : 跨语言的平台
P7 07-字节码与多语言混合编程
- 字节码:
- 多语言混合编程:
P8 08-Java及JVM历史上的重大事件
P9 09-虚拟机与Java虚拟机介绍
P10 10-JVM的位置
- JVM的位置:
P11 11-JVM的整体结构
- JVM的整体结构
P12 12-Java代码执行流程
- Java代码执行流程
P13 13-区分栈的指令集架构和寄存器的指令集架构
P14 14-JVM的生命周期
- JVM的生命周期![
P15 15-SUN Classic VM的介绍
P16 16-Exact VM的介绍
P17 17-HotSpot VM的介绍
P18 18-JRockit VM的介绍
P19 19-IBM J9 VM的介绍
P20 20-KVM、CDC、CLDC的介绍
P21 21-Azul VM和BEA Liquid VM的介绍
P22 22-Apache Harmony的介绍
P23 23-Microsoft JVM和TaobaoJVM
P24 24-Dalvik VM及其他虚拟机的介绍
P25 25-Graal VM的介绍
P26 26-内存结构概述
P27 27-概述类的加载器及类加载过程
P28 28-类的加载过程一:Loading
P29 29-类的加载过程二:Linking
P30 30-类的加载过程三:Initialization
P31 31-几种类加载器的使用体会
P32 32-引导类、扩展类、系统类加载器的使用及演示
P33 33-为什么需要用户自定义类加载器及具体实现
P34 34-ClassLoader的常用方法及获取方法
P35 35-双亲委派机制的工作原理及演示
P36 36-双亲委派机制的优势
P37 37-沙箱安全机制
P38 38-类的主动使用与被动使用等
P39 39-运行时数据区内部结构
P40 40-JVM中的线程说明
P41 41-PC寄存器概述
P42 42-PC寄存器的使用举例
P43 43-解决PC寄存器两个面试问题
P44 44-虚拟机栈的主要特点
P45 45-虚拟机栈的常见异常与如何设置栈大小
P46 46-栈的存储结构和运行原理
P47 47-栈桢的内部结构
P48 48-局部变量表结构的认识
P49 49-字节码中方法内部结构的剖析
P50 50-变量槽slot的理解与演示
P51 51-静态变量与局部变量的对比及小结
P52 52-操作数栈的特点
P53 53-涉及操作数栈的字节码指令执行分析
P54 54-栈顶缓存技术
P55 55-动态链接的理解与常量池的作用
P56 56-方法的绑定机制:静态绑定与动态绑定
P57 57-4种方法调用指令区分非虚方法与虚方法
P58 58-invokedynamic指令的使用
P59 59-方法重写的本质与虚方法表的使用
P60 60-方法返回地址的说明
P61 61-栈桢中的一些附加信息
P62 62-虚拟机栈的5道面试题
P63 63-本地方法接口的理解
P64 64-本地方法栈的理解
P65 65-JVM学习路线与内容回顾
P66 66-堆空间的概述_进程中堆的唯一性
P67 67-堆空间关于对象创建和和GC的概述
P68 68-堆的细分内存结构
P69 69-堆空间大小的设置和查看
P70 70-OOM的说明与举例
P71 71-新生代与老年代中相关参数的设置
P72 72-图解对象分配的一般过程
P73 73-对象分配的特殊情况
P74 74-代码举例与JVisualVM演示对象的分配过程
P75 75-常用优工具概述与Jprofiler的演示
P76 76-MinorGC、MajorGC和FullGC的对比
P77 77-GC举例与日志分析
P78 78-体会堆空间分代的思想
P79 79-总结内存分配策略
P80 80-堆空间为每个线程分配的TLAB
P81 81-小结堆空间的常用参数设置
P82 82-通过逃逸分析看堆空间的对象分配策略
P83 83-代码优化之栈上分配
P84 84-代码优化之同步省略
P85 85-代码优化之标量替换
P86 86-代码优化及堆的小结
P87 87-方法区概述_栈堆方法区间的交互关系
P88 88-方法区的基本理解
P89 89-Hotspot中方法区的演进
P90 90-设置方法区大小的参数
P91 91-OOM:PermGen和OOM:Metaspace举例
P92 92-方法区的内部结构1
P93 93-方法区的内部结构2
P94 94-class文件中常量池的理解
P95 95-运行时常量池的理解
P96 96-图示举例方法区的使用
P97 97-方法区在jdk6、jdk7、jdk8中的演进细节
P98 98-StringTable为什么要调整位置
P99 99-如何证明静态变量存在哪
P100 100-方法区的垃圾回收行为
P101 101-运行时数据区的总结与常见大厂面试题说明
P102 102-对象实例化的几种方式
P103 103-字节码角度看对象的创建过程
P104 104-对象创建的六个步骤
P105 105-对象的内存布局
P106 106-对象访问定位
P107 107-直接内存的简单体验
P108 108-使用本地内存读写数据的测试
P109 109-直接内存的00M与内存大小的设置
P110 110-执行引擎的作用及工作过程概述
P111 111-Java程序的编译和解释运行的理解
P112 112-机器码_指令_汇编_高级语言理解与执行过程
P113 113-解释器的使用
P114 114-HotspotVM为何解释器与JIT编译器并存
P115 115-热点代码探测确定何时JIT
P116 116-Hotspot设置模式_C1与C2编译器
P117 117-Graal编译器与AOT编译器
P118 118-String的不可变性
P119 119-String底层Hashtable结构的说明
P120 120-String内存结构的分配位置
P121 121-两个案例熟悉String的基本操作
P122 122-字符串拼接操作的面试题讲解
P123 123-字符串变量拼接操作的底层原理
P124 124-拼接操作与append操作的效率对比
P125 125-intern()的理解
P126 126-new String()到底创建了几个对象
P127 127-关于intern()的面试难题
P128 128-面试的拓展问题
P129 129-intern()的课后练习1
P130 130-intern()的课后练习2
P131 131-intern()的空间效率测试
P132 132-StringTable的垃圾回收测试
P133 133-G1垃圾收集器的String去重操作
P134 134-垃圾回收相关章节的说明
P135 135-什么是GC,为什么需要GC
P136 136-了解早期垃圾回收行为
P137 137-Java自动内存管理介绍
P138 138-垃圾回收相关算法概述
P139 139-引用计数算法的原理及优缺点
P140 140-Java代码举例_Python的引用计数实施方案
P141 141-可达性分析算法与GC Roots
P142 142-对象的finalization机制
P143 143-代码演示可复活的对象
P144 144-使用MAT查看GC Roots
P145 145-使用JProfiler进行GC Roots溯源
P146 146-使用JProfiler分析OOM
P147 147-标记-清除算法原理及优缺点
P148 148-复制算法原理及优缺点
P149 149-标记-压缩算法原理及优缺点
P150 150-不同指标上对比三种算法
P151 151-分代收集算法的说明
P152 152-增量收集算法原理及优缺点
P153 153-分区算法的说明
P154 154-垃圾回收相关概念的概述
P155 155-System.gc()的理解
P156 156-手动gc理解不可达对象的回收行为
P157 157-内存溢出的分析
P158 158-内存泄漏的分析
P159 159-StopTheWorld事件的理解
P160 160-程序的并行与并发
P161 161-垃圾回收的并行与并发
P162 162-安全点与安全区域的说明
P163 163-Java中几种不同引用的概述
P164 164-强引用:不回收
P165 165-软引用:内存不足即回收
P166 166-弱引用:发现即回收
P167 167-虚引用:对象回收跟踪
P168 168-终结器引用的介绍
P169 169-垃圾回收器章节概览
P170 170-垃圾回收器的分类
P171 171-GC性能指标的整体说明
P172 172-吞吐量与暂停时间的对比说明
P173 173-垃圾回收器的发展迭代史
P174 174-垃圾回收器的组合关系
P175 175-如何查看默认的垃圾回收器
P176 176-Serial与Serial Old垃圾回收器的介绍
P177 177-如何设置使用Serial垃圾回收器
P178 178-ParNew垃圾回收器的介绍
P179 179-如何设置使用ParNew垃圾回收器
P180 180-Parallel与Parallel Old垃圾回收器的介绍
P181 181-Parallel垃圾回收器的相关参数设置
P182 182-CMS垃圾回收器概述与工作原理
P183 183-CMS的特点与弊端分析
P184 184-CMS垃圾回收器的参数设置
P185 185-CMS的小结及后续JDK版本中的变化
P186 186-认识G1垃圾回收器
P187 187-G1垃圾回收器的优势和不足
P188 188-G1的参数设置
P189 189-G1在生产环境的适用场景
P190 190-region的使用介绍
P191 191-G1垃圾回收器的主要回收环节
P192 192-记忆集与写屏障
P193 193-G1垃圾回收过程的详细说明
P194 194-G1垃圾回收的优化建议
P195 195-7种经典的垃圾回收器总结与调优建议
P196 196-常用的显示GC日志的参数
P197 197-GC日志中垃圾回收数据的分析
P198 198-举例说明日志中堆空间数据如何解读
P199 199-日志分析工具的使用
P200 200-新时期的Epsilon和Shenandoah垃圾回收器
P201 201-革命性的ZGC的性能介绍
P202 202-其他的厂商的垃圾回收器