摘要:
Java语言引入了垃圾回收机制,让C++语言中令人头疼的内存管理问题迎刃而解,使得我们Java狗每天开开心心地创建对象而不用管对象死活,这些都是Java的垃圾回收机制带来的好处。但是Java的垃圾回收机制的核心原理是什么呢?今天我们来聊聊GC回收算法吧。 JVM的GC回收场景很复杂,不是单个算法就可 阅读全文
摘要:
假如Java对象是个人,那意味着它也具备了我们人所有的东西,头,身体,大长腿。 头 头就是我们的对象头(Header)。根据JAVA虚拟机规范,我们的对象头分为两部分,分别是存储对象自身的运行时数据和存储类型指针。 存储对象自身的运行时数据 这部分数据有HashCode、GC分代年龄、对象锁信息等。 阅读全文
摘要:
JAVA虚拟机在执行JAVA程序的时候,会把它管理的内存分成若干不同的数据区域,每个区域都有各自的用途。目前大致把JVM内存模型划分为五个区域:程序计数器,虚拟机栈,本地方法栈,堆和方法区。 程序计数器 程序计数器(ProgramCounterRegister)是当前线程所执行的字节码的行号指示器。 阅读全文