程序运行过程的内存分析。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序运行过程的内存分析。相关的知识,希望对你有一定的参考价值。
栈:自动分配连续的空间,后进先出。用于存放局部变量
Example:s1(局部变量。new出来以后放到堆里保存)
s1中存放一个地址,指向堆中保存的对象,对象中的各种属性也各自存放一个地址,指向堆内方法区中所保存的代码、static变量以及常量池等。图例如下
堆:空间不连续。用于放置new出的对象
方法区:存放类的信息(代码)、static变量、常量池(字符串常量)等。
Example:student类信息:1、代码(属性、方法)。2、static变量。3、常量池(字符串常量……等)
。
以上是关于程序运行过程的内存分析。的主要内容,如果未能解决你的问题,请参考以下文章
go语言学习笔记 — 基础 — 基本语法 — 常量与变量 — 变量的生命周期:变量逃逸分析 —— go编译器自动决定变量的内存分配方式(堆还是栈),提高程序运行效率