代码存放细谈

栈。编译器自动分配释放, 存放局部变量,参数值。操作方式:栈
堆。程序员分配释放 操作方式:链表
静态区,全局区。 存放,全局变量和静态变量初始化的在一起,未初始化的在相邻区域。
文字常量区:存放常量字符串区
程序代码区,存放二进制代码。

int a = 0; //全局初始化区。
int b; //全局未初始化区
main(){
    char s[] = "abc" //.栈。又叫堆栈,"abc"存放在常亮字符串区
    p2 = new person(); 堆,// person对象是存放在堆中,但是p2还是存放在栈中
}
stack 栈 heap:堆
stack:栈 系统自动分配只有栈的剩余空间大于所申请的空间总大小是确定的常数1M或者2M申请速度快
heap:堆 由程序员自己申请,并指明大小 系统中有一个记录空闲内存地址的链表,遍历找第一个空间足够大的堆节点,删除空闲链表中的记录,分配空间,如果有多的空间,再放到空闲列表中。内存大小取决于虚拟内存申请速度慢

使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就
走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自
由度小。
使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由
度大。 (经典!)
java中的存储

寄存器堆栈 常亮存储非RAM存储
处理器内部,最快的存区,无法控制通用RAM,存放引用通用内存池《ram》,存放对象常量存储比如数据库的东西放在其他地方
基本类型是存放在堆栈中的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值