前言
jvm不论对于进阶高级java工程师来说,还是对于面试而言都是至关重要的,那么我们就来看一下jvm内存区域划分。
1.jvm的内存区域分类
jvm内存区域分为:堆,虚拟机栈,本地方法栈,方法区,程序计数器五大区域。
2.堆内存:
- 存放实例变量,new出来的对象
- 垃圾回收区回收的主要区域;
- 位于线程共享区;
- 可能会发生OutOfMemoryError;
3.虚拟机栈
- 存放基本类型变量;
- 可能会发生StackOverflowError和OutOfMemoryError;
4.本地方法栈
- 执行native方法;
5.方法区
- 存放虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码;
- 包含常量池;
6.程序计数器
- 当前线程所执行的字节码的行号指示器;
- 唯一不会发生OutOfMemoryError的区域;
具体的可以参考《深入了解java虚拟机这本书》,内容过于枯燥,更多的是一些概念性的东西,需要多多实践才能记住。
原文地址:https://www.cnblogs.com/jianpanaq/p/9085188.html
时间: 2024-10-11 18:42:00