随笔分类 - JVM
摘要:概述 对Java程序员来说,在自动内存管理机制的帮助下,不需要为每个new操作写配对的delete、free代码。但也是由于把权力给了Java虚拟机,一旦内存出现泄露和溢出的问题,若不了解虚拟机如何使用内存,那将成为艰难的工作。这里主要介绍运行时数据区、虚拟机对象、OOM异常。 运行数据区
阅读全文
摘要:Stack、Heap 引入 堆和栈在平时开发中都在看不见的地方,但问题出的确是不少。在理解的时候总是有自相矛盾的点,借此梳理下相关的知识点。堆栈在不同领域有不同作用和解释,一下从编程和数据两个角度看看他们的特性。 编程 在编程语言环境中,内存的分配主要为:堆分配、栈分配、静态存储分配 栈分配
阅读全文
摘要:类加载器 1、类的生命周期 加载 ⇒ 验证 ⇒ 准备 ⇒ 解析 ⇒ 初始化 ⇒ 使用 ⇒ 卸载 加载、验证、准备、初始化、卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班开始。但解析阶段则不一定,在某些情况下可以在初始化阶段后开始,为了支持Java语言的运行时绑定 1.1、
阅读全文