JVM
苏曼SUMAN
这个作者很懒,什么都没留下…
展开
-
0.JVM-概念补充
文章目录1. 静态代码块2. 代码块3. 类构造器方法 clinit4. 实例构造器 init5. 类方法(静态方法)6. 实例方法(非静态方法)7. 静态常量8. 静态变量9. 字面量10. 符号引用11. 直接引用12. 简单名称13. 全限定名14. 描述符1. 静态代码块在静态代码块中仅可以对静态变量进行赋值,在类被加载时就会执行。该部分的代码会编译到init方法中执行static...原创 2019-12-12 22:21:15 · 97 阅读 · 0 评论 -
1.JVM-内存
文章目录1. 程序计数器2. 虚拟机栈2.1. 栈帧(StackFrame)2.1.1. 局部变量表2.1.2. 操作数栈2.1.3. 动态连接方法2.1.4. 返回地址3. 本地栈4. 方法区(永久代) PermGen4.1. Class信息4.2. 运行时常量池5. 元数据空间 Metaspace(元空间)6. 堆6.1. 字符串常量池6.2. 新生代6.3. 老年代7. 直接内存(Dire...原创 2019-12-12 22:22:17 · 89 阅读 · 0 评论 -
2.JVM-对象存储
文章目录1. 概念补充1.1. CAS(Compare-and-Swap)1.2. 自旋锁1.3. 自适应自旋锁1.4. 全局安全点1.5. 偏向锁1.6. 轻量级锁1.7. 重量级锁2. 对象内容2.1. 对象头 Header2.1.1. Mark Word2.1.2. 对象指针2.1.3. 数组长度2.2. 实例数据 Instance Data2.3. 对齐填充 Padding1. 概念补充...原创 2019-12-12 22:22:57 · 293 阅读 · 0 评论 -
4.JVM-垃圾收集器
文章目录1. 垃圾回收算法1.1. 标记-清除算法1.2. 复制算法1.3. 标记-整理算法1.4. 分代收集2. 垃圾收集器2.1. 垃圾收集方式2.1.1. Minor GC 次要2.1.2. Major GC 重要2.1.3. Full GC 充分2.2. 新生代收集器2.2.1. Serial收集器2.2.2. ParNew收集器2.2.3. Parallel Scavenge收集器2.3...原创 2019-12-12 22:24:10 · 191 阅读 · 0 评论 -
5.JVM-JDK工具
在JDK根目录下的bin目录中,JDK提供了很多用于监控虚拟机的工具。这些工具中很多都是使用lib/tools.jar来包装进行实现的。1. 命令行工具名称全称主要作用jpsJVM Process Status Tool显示指定系统内所有的HotSpot虚拟机进程jstatJVM Statistics Monitoring Tool用于收集HotSpot虚...原创 2019-12-12 22:24:50 · 114 阅读 · 0 评论 -
6.JVM-类加载和双亲委托
文章目录1. 类的生命周期1.1. 加载(Loading)1.2. 连接(Linking)1.2.1. 验证(Verification)1.2.2. 准备(Preparation)1.2.3. 解析(Resolution)1.3. 初始化(Initialization)1.3.1 初始化的时机1.4. 使用(Using)1.5. 卸载(Unloading)2. 类加载器2.1. 双亲委派模型1....原创 2019-12-12 22:25:49 · 93 阅读 · 0 评论 -
7.JVM-字节码执行引擎
文章目录1. 概念补充1.1. 访问修饰符1.2. 异常1.3. 重载1.4. 重写1.5. 多态1.6. 分派1.7. 静态类型和实际类型1.8. 虚方法1.9. 宗量2. 方法调用2.1. 解析2.2. 分派2.2.1. 静态分派2.2.2. 动态分派2.2.3. 单分派和多分派2.2.4. 动态分派的实现2.3. 动态类型语言支持2.4. 字节码解释执行引擎1. 概念补充1.1. 访问修...原创 2019-12-12 22:26:28 · 101 阅读 · 0 评论 -
8.JVM-启动参数
文章目录1. 参数类型2. 常用配置2.1. JVM 运行模式2.2. JVM 对字节码的处理2.4. 堆内存设置2.5. 线程配置2.6. 垃圾收集器设置2.7. Agent 相关的选项1. 参数类型标准参数以-开头为标准参数,所有的 JVM 都要实现这些参数,并且向后兼容非标准参数以-X开头为非标准参数, 基本都是传给 JVM 的,默认 JVM 实现这些参数的功能,但是并不保...原创 2019-12-12 22:27:16 · 186 阅读 · 0 评论