【Java】对象内存解析

Java中对象内存解析

堆Heap:存放对象实例

堆(heap):存储的全部是对象(包括数组等),每个对象都包含一个与之对应的class的信息。JVM只有一个堆,被所有线程所共享,堆是一个不连续的内存空间,分类灵活,但速度较慢。

栈Stack:存放局部变量

栈(stack):存放基本类型的变量数据和对象的引用,栈描述的是方法执行的内存模型,JVM为每个线程创建一个栈,用于存放线程执行方法的基本信息,栈的存储特性为“先进后出、后进先出”,大家可以理解为一个形象化的弹夹。栈由系统自动分配,速度块,是一块连续的空间。

方法区:存储类信息、常量、静态变量、即时编译器编译后分代码。

方法区(method area):又叫静态区,跟堆一样,JVM只有一个方法区,被所有线程所共享。方法区包含所有的类信息和静态变量、静态常量以及字符串常量。

img

posted @ 2021-09-07 13:55  Clancy_gang  阅读(73)  评论(0编辑  收藏  举报