此博客是本人从学生时代开始做笔记所用, 部分是工作所遇问题,做填坑笔记,部分闲来查阅资料,加上自己的理解所总结的学习笔记, 常忙得不可开交,若漏了资料来源,望通知~ 前路漫漫,写点东西告诉自己正在一点点进步,而不要迷失于繁忙。

JVM内存的堆、栈和方法区

JVM的内存分为堆、栈、方法区和程序计数器4个区域

存储内容:基本类型,对象引用,对象本身,class,常量,static变量

 

堆:

拥有者:所有线程

内容:对象本身,不存放基本类型和对象引用

垃圾回收:由gc控制,java的垃圾回收主要针对堆

 

----------------------------------------------------------

 

栈:

分为虚拟机栈和本地方法栈

虚拟机栈:

java方法内存模型

拥有者:每个线程拥有一个

内容:基本数据,对象引用(最常用)

垃圾回收:程序自动出栈释放

 

本地方法栈:

为native方法服务

 

 ----------------------------------------------------------

 

方法区(静态区):

拥有者:所有线程

内容:class类型、常量、static变量(整个程序中唯一的元素)和常量池

备注:方法区属于一个逻辑概念,是堆的一个逻辑部分,不同虚拟机对其有不同的实现,例如jdk1.8之前HotSpot用“永久代”来实现方法区,在之后用“元空间”实现方法区

posted @ 2018-10-15 11:04  炎泽  阅读(1578)  评论(0编辑  收藏  举报