【Java】栈区、堆区和方法区的解析

栏目: Java · 发布时间: 6年前

栈区

  1. 栈区描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存放存储局部变量、操作数、方法出口等)
  2. JVM为每个线程创建一个栈,栈属于线程私有,不能实现线程间的共享!用于存放该线程执行方法的信息(实际参数、局部变量等)
  3. 基本类型变量去,执行环境上下文,操作指令区(存放操作指令).

堆区

  1. 堆用于存储创建好的对象和数组(数组也是对象)
  2. JVM只有一个堆,被所有线程共享
  3. 堆是一个不连续的内存空间,分配灵活,速度慢!

方法区

  1. Jvm只有一个方法区,被所有线程公用
  2. 存放整个程序中唯一的元素。用于存放类,常量相关的信息。如class static 变量.

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

UNIX编程艺术

UNIX编程艺术

Eric S. Raymond / 姜宏、何源、蔡晓俊 / 电子工业出版社 / 2006-2 / 59.00元

本书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S. Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为本书贡献了宝贵的内容。本书内容涉及社群文化、软件开发设计与实现,覆盖面广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧。一起来看看 《UNIX编程艺术》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器