Java内存区域与内存溢出异常
1. 概述(为什么要去了解虚拟机是怎样使用内存的?)
2. 运行时数据区域(虚拟机中的内存是如何划分的?)
3. HotSpot 虚拟机对象探秘 (HotSpot 虚拟机在 Java 堆中对象是如何创建、如何布局以及如何访问的?)
4. 实战:OutOfMemoryError 异常(哪部分区域、什么样的代码和操作可能导致内存溢出异常?)
1、为什么要去了解虚拟机是怎样使用内存的?
对于 C、C++ 程序员,在内存管理领域,他们既拥有每一个对象的“所有权”,又担负着每一个对象声明开始到终结的维护责任。
对于 Java 程序员,在虚拟机自动内存管理机制的帮助下,不再需要为每一个 new 操作去写配对的 delete/free 代码,不容易出现内存泄露和内存溢出问题。
我们去了解虚拟机是怎样使用内存的目的:一旦出现内存泄露和溢出方面的问题,可以轻易的排查错误。
未完待续······