栈、堆、方法区、本地方法区、寄存器

本文详细介绍了Java中的内存管理机制,包括栈、堆、方法区等内存区域的功能与使用方式。探讨了局部变量与实体对象的存储位置及生命周期,并解释了不同数据类型的默认初始化值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

静态储存:全局变量 静态变量 
Stack:局部变量 系统会自动回收
 heap:new  malloc


stack(栈)由系统自动分配,
heap(堆)需要程序员自己申请, C中用函数malloc分配空间,用free释放,C++用new分配,用delete释放。
当然热爱java的童鞋肯定更关心java的内存空间划分(虽然强大的java让程序猿在编程时不需要考虑太多内存方面的细节)
java 对内存空间的划分五部分; 
栈、堆、方法区、本地方法区、寄存器。 
1、栈内存:存储都是局部变量。只要是在方法中定义的变量都是局部变量。 
      一旦变量的生命周期结束该变量就被释放。 
2、堆内存都是实体(对象)(new 关键词创建的) 
     每一个实体都有一个首地址值。 
     堆内存的变量都有默认的初始化值。不同类型不一样, 
          int——0
          double——0.0 
          boolean——false 
          char——’\u0000’ 
     当实体不在使用时,就会被垃圾回收机制处理。


静态储存:全局变量 静态变量 
Stack:局部变量 系统会自动回收
 heap:new malloc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值