随笔分类 - 深入理解Java虚拟机
摘要:虚拟机的类加载机制 虚拟机的类加载机制 类加载的时机 类的显式加载和隐式加载 类加载的过程 类的生命周期 加载 加载的 3 个阶段 分类 验证 准备 解析 初始化 类加载器 如何判断两个类 “相等” 类加载器的分类 双亲委派模型 类加载的时机 JVM 会在程序第一次主动引用类的时候,加载该类,被动引
阅读全文
摘要:Class文件的组成结构 Class 文件是一组以 8 位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在 Class 文件中,中间没有任何分隔符。Java 虚拟机规范规定 Class 文件采用一种类似 C 语言结构体的伪结构来存储数据,这种伪结构中只有两种数据类型:无符号数和表,我们
阅读全文
摘要:Java 内存分配策略 Java 内存分配策略 优先在 Eden 区分配 大对象直接进入老年代 长期存活的对象将进入老年代 空间分配担保 新生代和老年代的 GC 操作 新生代 GC 操作:Minor GC 发生的非常频繁,速度较块。 老年代 GC 操作:Full GC / Major GC 经常伴随
阅读全文
摘要:垃圾收集器 垃圾收集(Carbage Collection,GC),它的任务是解决以下3个问题: 哪些内存需要回收? 什么时候回收? 如何回收? 其中第一个问题很好回答,在Java中,GC主要发生在Java堆和方法区中,对于后两个问题,我们将在之后的内容中进行讨论,并介绍HotSpot的7个垃圾收集
阅读全文
摘要:OOM 异常 (OutOfMemoryError) OOM 异常 (OutOfMemoryError) Java 堆溢出 Java 虚拟机栈和本地方法栈溢出 方法区和运行时常量池溢出 直接内存溢出 Java 堆溢出 出现标志:java.lang.OutOfMemoryError: Java heap
阅读全文
摘要:目录 JVM 运行时的数据区域 程序计数器 Java 虚拟机栈 本地方法栈 Java 堆 方法区 直接内存 HotSpot 虚拟机堆中的对象 对象的创建(遇到一条 new 指令时) 对象的内存布局 对象的访问 句柄访问 直接指针访问 JVM 运行时的数据区域 首先获取一个直观的认识: 总共也就这么5
阅读全文
摘要:“串一串” Java 虚拟机的知识点 本文将按照 Content 中给出的四个部分加上 Java 的内存模型部分进行说明,首先先来说说 Java 的内存管理机制。 说说 Java 的内存管理机制 说说 Java 虚拟机程序执行 说说虚拟机性能监控及故障处理 说说 JIT 优化 说说 Java 的内存
阅读全文

浙公网安备 33010602011771号