线程共享的区域包括java堆和方法区,java堆分为新生代和老年代,方法区存放class文件信息。对象过大会导致堆溢出。 线程私有的为虚拟机栈、本地方法栈与程序计数器,递归可能导致栈溢出。 java栈指的是虚拟机栈
新生代的收集方法为复制算法;老年代的收集算法为标记整理、标记清除算法。对Java堆中不同的区域采用不同的方法为分代收集算法。 根据串行/并行方式以及垃圾收集算法的不同,产生了不同的垃圾收集器
掌握jvm参数中堆内存,垃圾收集日志,以及常用非堆参数的设置。 学会使用jvm命令行进行进程管理,内存映像与栈跟踪,使用可视化工具调优。 学会使用常用的进程管理与快照分析工具。
掌握类文件结构,并能够进行ASM的简单应用。
IntegerCache、longCache缓存策略与String.intern()用法说明
了解字节码指令,能够从字节码的角度看懂一些较难理解的问题。
掌握两种类加载模型,并会使用类加载器,以及常用的osgi框架
了解jvm运行和解析时的优化。
掌握内存模型中主内存与工作内存的交互方式,volatile变量的规则,以及先行发生原则。
了解常用锁定义,明白偏向锁,轻量级锁,重量级锁的原理。