JVM各区存放的东西~ JVM各区存放的东西~ 2021-06-17 JVM底层原理 栈的相关面试题 栈的相关面试题①举例栈溢出的情况?( StackOverflowError) 比如一个栈是大小是固定了的,当你调用的方法太多,超出了大小限制则会造成StackOverflowError。 还有就是栈的大小可以动态改变,用-Xss改变栈的 2020-11-12 JVM底层原理 GC日志分析 GC日志分析 打开GC日志: 一些补充说明 打开GC日志:① -verbose:gc ② -verbose:gc -XX:+PrintGCDetails ③ 如果想把GC日志存到文件,使用: -Xloggc:/path/ 2020-09-30 JVM底层原理 垃圾回收器 垃圾回收器 GC分类与性能指标 性能指标 不同垃圾回收器的概述 Serial回收器(串行回收) ParNew回收器(并行回收) Parallel回收器(吞吐量优先) CMS回收器(低延迟) 小结 G1回收器(区域化分代式) 2020-09-28 JVM底层原理 垃圾回收相关概念 垃圾回收相关概念 System.gc()的理解 内存溢出与内存泄漏 内存溢出OOM 内存泄漏Memory Leak Stop The World 垃圾回收的并行与并发 安全点与安全区域 安全点 安全区域 再谈引用 强引用( 2020-09-28 JVM底层原理 垃圾回收相关算法 垃圾回收相关算法 垃圾标记阶段的算法之引用计数算法 小结 垃圾标记阶段的算法之可达性分析算法 对象的finalization机制 垃圾清除阶段算法之标记–清除算法 垃圾清除阶段算法之复制算法 垃圾清除阶段算法之标记-压缩(整理)算 2020-09-25 JVM底层原理 垃圾回收概述 垃圾回收概述 什么是垃圾 为什么要GC Java的垃圾回收机制 什么是垃圾垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 为什么要GC 对于高级语言来说,如果不进行垃圾回收,内存迟早都会被消耗完因为不断地分 2020-09-25 JVM底层原理 StringTable StringTable String的基本特性 String的内存分配 String基本操作 字符串拼接操作 intern()的使用 intern()的空间效率测试 String Table的垃圾回收 G1中的 String去重操作 2020-09-24 JVM底层原理 执行引擎 执行引擎 概述 Java代码编译和执行的过程 解释器与JIT(just in time)编译器 为什么说JAVA是半编译半解释型语言? 机器码、指令、汇编语言 字节码 解释器 JIT编译器 有了JIT为什么还要保留解 2020-09-23 JVM底层原理 直接内存 直接内存 直接内存是在JAVA堆外,直接向系统申请的内存区间。 来源于NIO,通过存在堆中的 DirectByteBuffer操作 Native内存 通常,访问直接内存的速度会优于Java堆。即读写性能高。因此出于性能考虑,读写频 2020-09-21 JVM底层原理 对象的实例化、内存布局与访问定位 对象的实例化、内存布局与访问定位 对象的实例化 对于上图中“创建对象的步骤”详细的解释 对象的内存布局 对象的访问定位 JVM是如何通过栈帧中的对象引用访问到其内部的对象实例的 对象的实例化 对于上图中“创建对象的步骤”详 2020-09-21 JVM底层原理 方法区(下) 方法区(下) 方法区使用举例 方法区的演进细节 永久代为什么要被元空间取代 String Table为什么要调整 方法区的垃圾收集 总结 方法区使用举例public class MethodAreaDemo { publ 2020-09-20 JVM底层原理