对本文所持态度
抓住主要矛盾,抓住重点学习,然后从这些点展开学。
不管是面试别人,还是参加面试。都可以有收获。
JDK体系结构与JVM架构解析
jdk
jre
javac
jvm
Java是怎么实现跨平台的
不同平台实现的JVM,都遵循相同的Java语言规范、Java虚拟机规范。
JVM:从软件层面屏蔽不同操作系统在底层硬件与指令上的区别。
实现跨平台的关键就是JVM。
JVM内存
运行时数据区有哪些内容?
线程私有:虚拟机栈、本地方法栈、程序计数器
线程共享:堆、方法区
Java内存模型
引用自https://www.processon.com/view/5ea7a1b9e401fd21c196eb17?fromnew=1
JVM运行时数据区
引用自https://www.processon.com/view/5e9064d80791294229cc2d3b?fromnew=1
对象初始化过程及GC过程
如何查看字节码
javap命令
javap -c Main.class
如何分析字节码
参考JVM指令手册
程序计数器
当前线程正在执行的字节码的地址
栈桢
局部变量表
-
八大基本数据类型
-
对象引用
-
returnAddress
操作数栈
动态链接
方法出口
堆内存解析
垃圾回收机制解析
垃圾回收器
引用自https://www.processon.com/view/59a52df0e4b0920e4be264b8?fromnew=1#map
minor gc和full gc都会触发STW
亿级流量电商系统JVM调优实战
JVM调优目的
减少STW,减少GC次数,减少GC时间
为什么要设计STW?
为了让可达性分析结果更准确,不可以在分析过程中,对象引用关系还在不断变化。