码迷,mamicode.com
首页 > 其他好文 > 详细

jvm内存区域重点概要

时间:2018-05-25 00:26:57      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:垃圾回收   内存区域   指示   常量   实践   new   实例变量   native   即时编译   

前言

jvm不论对于进阶高级java工程师来说,还是对于面试而言都是至关重要的,那么我们就来看一下jvm内存区域划分。

 

1.jvm的内存区域分类

jvm内存区域分为:堆,虚拟机栈,本地方法栈,方法区,程序计数器五大区域。

 

2.堆内存:

  • 存放实例变量,new出来的对象
  • 垃圾回收区回收的主要区域;
  • 位于线程共享区;
  • 可能会发生OutOfMemoryError;

 

3.虚拟机

  • 存放基本类型变量;
  • 可能会发生StackOverflowError和OutOfMemoryError;

 

4.本地方法栈

  • 执行native方法;

 

5.方法区

  • 存放虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码;
  • 包含常量池;

 

6.程序计数器

  • 当前线程所执行的字节码的行号指示器;
  • 唯一不会发生OutOfMemoryError的区域;

 

具体的可以参考《深入了解java虚拟机这本书》,内容过于枯燥,更多的是一些概念性的东西,需要多多实践才能记住。

 

jvm内存区域重点概要

标签:垃圾回收   内存区域   指示   常量   实践   new   实例变量   native   即时编译   

原文地址:https://www.cnblogs.com/jianpanaq/p/9085188.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!