Java基础之简单内存管理

内存管理:Java的JVM自动管理内存

主要分为3部分:

堆:存储使用new关键字所创建的对象

成员变量的生命周期为:从对象在堆中创建开始到对象从堆中被回收结束。

垃圾回收器(GC)是JVM自带的一个线程(自动运行着的程序),用于回收没有任何引用所指向的对象(垃圾)

垃圾回收过程对程序员来说是透明的,不定期检查,可以人为的调用System.gc()方法来加速回收资源


内存泄漏:不再被使用的内存没有被及时的回收,当不再被使用的对象仍有引用指向它时,不能被及时回收

  • 建议当对象不再被使用时,及时将引用指向null

栈:存储所用的局部变量

过程:调用方法时为该方法分配对应的一个栈帧,在栈帧中包含该方法的参数和局部变量,方法调用结束时,栈帧被清除,局部变量失效


局部变量的生命周期为:从该方法被调用开始到该方法调用完


成员变量与局部变量的差别如下:

局部变量:

1) 定义在方法中;

2) 没有默认值,必须初始化;

3) 方法被调用时,存在栈中,方法调用结束时局部变量从栈中清除;

成员变量:

1) 定义在类中,方法外;

2) 由系统设定默认初始值,可以不显式初始化;

3) 所在类被实例化后,存在堆中,对象被回收时,成员变量失效;


方法区:存放类的信息(.class)和方法,类只被加载一次,加载后,方法只有一份,通过this来区分具体的对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值