![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
LFuser.
这个作者很懒,什么都没留下…
展开
-
JVM--Java内存模型与线程
文章目录1、 硬件的效率与一致性2、 Java内存模型 2.1 主内存与工作内存 2.2 内存间交互操作 2.3 对于volatile型变量的特殊规则 2.4 对于long和double型变量的特殊规则 2.5 原子性,可见性和有序性 2.6 先行发生原则3、 Java与线程 3.1 线程的实现 1). 使用内核线程实现 2). 使用用户线程实现 3). 使用用户线程加轻量级进程混合实现 4). ...转载 2019-11-04 22:17:36 · 170 阅读 · 0 评论 -
JVM--晚期(运行期)优化
文章目录1、 概述2、 HotSpot虚拟机内的即时编译器 2.1 解释器与编译器 2.2 编译对象与触发条件 2.3 编译过程3、 编译优化技术 3.1 公共子表达式消除 3.2 数组边界检查消除 3.3 方法内联 3.4 逃逸分析4、 Java与C/C++的编译期对比1、 概述 Java程序最初是通过解释器进行解释执行的,当虚拟机发现某个方法或代码块运行特别频繁是,就会把这些代码认...转载 2019-11-04 22:07:56 · 189 阅读 · 0 评论 -
JVM--早期(编译期)优化
文章目录1、 概述2、 Javac编译器 2.1 Javac的源码与调试 2.2 解析与填充符号表 1). 词法,语法分析 2). 填充符号表 2.3 注解处理器 2.4 语义分析与字节码生成 1). 标注检查 2). 数据及控制流分析 3). 解语法糖 4). 字节码生成3、 Java语法糖的味道 3.1 泛型与类型擦除 3.2 自动装箱,拆箱与遍历循环 3.3 条件编译1、 概述 ...转载 2019-11-04 22:02:52 · 184 阅读 · 0 评论 -
JVM--虚拟机字节码执行引擎
文章目录1、 概述2、 运行时帧栈结构 1.1 局部变量表 1.2 操作数栈 1.3 动态连接 1.4 方法返回地址 1.5 附加信息3、 方法调用 3.1 解析 3.2 分派 1). 静态分派 2). 动态分派 3). 单分派和多分派 4). 虚拟机动态分派的实现 3.3 动态类型语言支持 1). 动态类型语言 2). JDK 1.7与动态类型 3). java.lang.invoke包 4)....转载 2019-11-04 21:57:48 · 165 阅读 · 0 评论 -
JVM--虚拟机加载机制
文章目录1、 概述2、 类加载的时机3、 类加载的过程 3.1 加载 3.2 验证 1). 文件格式验证 2). 元数据验证 3). 字节码验证 4). 符号引用验证 3.3 准备 3.4 解析 3.5 初始化4、 类加载器 4.1 类与类加载器 4.2 双亲委派模型1、 概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接...转载 2019-11-04 21:44:35 · 175 阅读 · 0 评论 -
JVM--类文件结构
文章目录1、 概述2、 无关性的基石3、 Class文件的结构 3.1 魔数与Class文件的版本 3.2 常量池 3.3 访问标志 3.4 类索引,父类索引与借口索引集合 3.5 字段表集合 3.7 方法表集合 3.8 属性表集合 1). Code属性 2). Exceptions属性 3). LineNumberTable属性 4). LocalVariableTable属性 5). Sour...转载 2019-11-04 21:32:45 · 101 阅读 · 0 评论 -
JVM--虚拟机性能监控与故障处理简介
文章目录1、JDK的命令行工具 1.1 jps: 虚拟机进程状况工具 1.2 jstat: 虚拟机统计信息监视工具 1.3 jinfo: Java配置信息工具 1.4 jmap: Java内存映像工具 1.5 jhat: 虚拟机堆转储快照分析工具 1.6 jstack: Java堆栈跟踪工具 1.7 HSDIS: JIT生成代码反汇编2、 JDK的可视化工具 2.1 JConsole 2.2 Vi...转载 2019-11-04 21:11:09 · 188 阅读 · 0 评论 -
JVM--垃圾收集器与内存分配策略
文章目录1、 概述2、 对象的死亡 2.1 引用计数算法 2.2 ==可达性分析算法== 2.3 引用 1). 强引用(Strong Reference) 2). 软引用(Soft Reference) 3). 弱引用(Weak Reference) 4). 虚引用(Phantom Reference) 2.4 生存或者死亡 2.5 回收方法区3、 垃圾收集算法 3.1 标记-清除算法 3...转载 2019-11-04 21:02:00 · 89 阅读 · 0 评论 -
JVM--Java内存区域与内存溢出异常
文章目录@[toc]1、 运行时数据区域 1.1 程序计数器 1.2 Java虚拟机栈 1.3 本地方法栈 1.4 Java堆 1.5 方法区 1.6 运行时常量池 1.7 直接内存2、 HotSopt虚拟机对象探秘 2.1 对象的创建 2.2 对象的内存布局 2.3 对象的访问定位 1). 句柄访问 2). 直接指针访问3. OutOfMemoryError异常 3.1 Java堆溢出 ...转载 2019-11-04 20:33:13 · 138 阅读 · 0 评论