《深入理解java虚拟机》-第2章
来源:互联网 发布:pageoffice java word 编辑:程序博客网 时间:2024/05/16 17:08
第2章 Java内存区域与内存溢出异常
2.1 概述
2.2 运行时数据区域
2.2.1 程序计数器
2.2.2 java虚拟机栈
2.2.3 本地方法栈
2.2.4 Java堆
2.2.5 方法区
2.2.6 运行时常量池
2.2.7 直接内存
2.3 HotSpot虚拟机对象探秘
探讨HotSpot虚拟机在java堆中对象分配、布局和访问的全过程。
2.3.1 对象的创建
2.3.2 对象的内存布局
2.3.3 对象的访问定位
2.4 实战:OutOfMemoryError异常
2.4.1 Java堆溢出
Java堆内存的OOM异常是实际开发中常见的内存溢出异常情况。当出现Java堆内存溢出时,异常堆栈信息"java.lang.OutOfMemoryError"会跟着进一步提示"Java heap space"。
2.4.2 虚拟机栈和本地方法栈溢出
HotSpot虚拟机中并不区分虚拟机栈和本地方法栈。
如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflowError异常。
如果虚拟机在扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError异常。
如果虚拟机在扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError异常。
2.4.3 方法区和运行时常量池溢出
String.intern()是一个Native方法,它的作用是:如果字符串常量池中已经包含一个等于此String对象的字符串,则返回代表池中这个字符串的String对象;否则,将此String对象包含的字符串添加到常量池中,并且返回此String对象的引用。
2.4.4 本机直接内存溢出
2.5 本章小结
阅读全文
0 0
- 深入理解Java虚拟机 第2章
- 《深入理解java虚拟机》-第2章
- 《深入理解java虚拟机》-第3章
- Java内存管理:深入Java内存区域(深入理解Java虚拟机的第2章内容,加上个人浅显理解)
- 《深入理解Java虚拟机》第6章 类文件结构
- 《深入理解Java虚拟机》第2版笔记(完整)
- 第2章 Java内存区域与内存溢出异常--《深入理解 Java 虚拟机》笔记
- 深入理解java虚拟机 第2章(一):Java内存区域
- 《深入理解Java虚拟机》第2章 Java内存区域与内存溢出异常
- 《深入理解Java虚拟机》读书笔记(1)---第2章 Java内存区域与内存溢出异常
- 深入理解java虚拟机 第2章(二):对象创建,内存布局,访问
- 深入理解java虚拟机 第2章(三):OutOfMemoryError异常
- 第7章 虚拟机类加载机制--《深入理解 Java 虚拟机》笔记
- 《深入理解Java虚拟机》第7章 虚拟机类加载机制
- 《深入理解Java虚拟机(第2版)》的笔记-第89页
- 深入理解java虚拟机
- Java虚拟机 深入理解
- 深入理解Java虚拟机
- xpath路径表达式笔记
- phantom.addCookie正确方法
- 记录tomcat 8.0.26/27/28 容器bug,导致解析jsp错误
- Kafka Java Producer代码实现
- android library引用失败,出现红叉叉解决办法
- 《深入理解java虚拟机》-第2章
- 圣杯布局&双飞翼布局
- git 学习总结
- 分布式系统之Erasure Code
- python---os.system()与subprocess.call()使用,POST与GET 请求,代理抓包
- MacOS High Sierra(10.13.2) 编译Faiss -- 包括问题解决
- Oracle system用户被锁定,快速解锁的方法
- jquery使用整理
- HDU 2028 Lowest Common Multiple Plus(最小公倍数)