《深入理解Java虚拟机》学习小记一之自动内存管理机制(一)
2015-06-09 17:17
393 查看
目录[-]
Java内存区域与内存溢出异常
一、概要
二、运行时数据区域
2.1程序计数器
2.2虚拟机栈
2.3本地方法栈
2.4堆
2.5方法区
2.6运行时常量池
三、对象访问
四、OutOfMemoryError异常
4.1Java堆溢出
4.2虚拟机栈溢出
4.3 方法区溢出
4.4 运行时常量池溢出
五、小结
我们可以带着以下几个问题去学习自动内存管理机制,罗列如下:
什么操作可能导致内存溢出?
有哪些种类的内存溢出?
都是在内存的哪些区域溢出?
垃圾收集有哪些原则?
有哪些垃圾收集算法及其实现?
新生代和老年代的回收策略如何?
各种内存相关的JVM参数是什么意思?
本文章主要总结问题1、问题2和问题3
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,如下图所示
其中虚拟机栈、本地方法栈和程序技术器是线程私有的,方法区和堆是线程共享的.
主要介绍虚拟机里面的内存是如何划分的,哪部分区域、什么样的代码和操作可能导致内存溢出异常。
---------------------------------全文完------------------------------
摘自《深入理解Java虚拟机》
Java内存区域与内存溢出异常
一、概要
二、运行时数据区域
2.1程序计数器
2.2虚拟机栈
2.3本地方法栈
2.4堆
2.5方法区
2.6运行时常量池
三、对象访问
四、OutOfMemoryError异常
4.1Java堆溢出
4.2虚拟机栈溢出
4.3 方法区溢出
4.4 运行时常量池溢出
五、小结
Java内存区域与内存溢出异常
一、概要
我们可以带着以下几个问题去学习自动内存管理机制,罗列如下:什么操作可能导致内存溢出?
有哪些种类的内存溢出?
都是在内存的哪些区域溢出?
垃圾收集有哪些原则?
有哪些垃圾收集算法及其实现?
新生代和老年代的回收策略如何?
各种内存相关的JVM参数是什么意思?
本文章主要总结问题1、问题2和问题3
二、运行时数据区域
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,如下图所示其中虚拟机栈、本地方法栈和程序技术器是线程私有的,方法区和堆是线程共享的.
2.1程序计数器
作用:当前线程所执行的字节码的行号指示器
五、小结
主要介绍虚拟机里面的内存是如何划分的,哪部分区域、什么样的代码和操作可能导致内存溢出异常。---------------------------------全文完------------------------------
摘自《深入理解Java虚拟机》
相关文章推荐
- java.net.SocketException: select failed
- JavaBean 中的属性详解(实例)
- java json字符串解析--遇到的问题
- JAVA创建对象有哪几种方式
- 让我苦苦寻找的那段代码---springmvc的ajax前后台交互
- Java 开发中 vo是什么,和po有什么不同,pojo又是什么
- Java学习篇之---json-lib(Maven)
- gradle 集成到myeclipse
- 浅谈java字符串
- Java毫秒和真实时间的转换
- Java for LeetCode 208 Implement Trie (Prefix Tree)
- 用Editplus配置JAVA编辑环境
- Java实现二维码QRCode的编码和解码
- java 访问sql server数据库
- java 入门基础-开发工具
- JAVA 正则表达式 (超详细)
- java中的tatic关键字的使用
- MyEclipse server窗口 Could not create the view: An unexpected exception was thrown 错误解决
- 【Java】【Flume】Flume-NG启动过程源码分析(一)
- java 回调函数与匿名内部类