栈内存
一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配
常量池
基本类型的变量、字符串类型、nul存放在常量池中,唯一存在
堆内存
堆内存用于存放由new创建的对象和数组,为具体的内容,不唯一存在
比如
int sum = 10;
10存放于常量池中,sum指向于栈区;
string str = new string("hello");
new string("hello") 存放于堆区中,把str 这个引用(地址)放入栈内存;
把类似指针的地址数据放在同一块内存区域这块区域遵守栈的存取规则我们就称之为栈 然后把主要的数据放在同一块内存区域并
遵守堆的存取规则 称之为堆。
两者区别栈内存运行速度快,堆内存速度慢,成本低,空间大。