Java-oo day11 学习笔记 面向对象—— 内存

内存


内存管理: 由JVM来管理的
1.堆区
1.1) 存储所有new出来的对象(包括实例变量)
1.2) 垃圾: 没有任何引用所指向的对象

  • 垃圾回收期(GC)不定时到内存堆中清扫垃圾,回收过程是透明的(看不到的),
  • 不一定一发现垃圾就立刻回收, 通过调用System.gc() 可以建议虚拟机尽快调度GC来回收

1.3) 内存泄漏: 不再使用的内存没有被及时的回收, 严重的泄漏会导致系统的崩溃
建议: 不再使用的对象及时将引用设置为null
1.4) 实例变量的生命周期:
创建对象时存在堆中, 对象被回收时一并被回收

2.栈区
2.1) 存储正在调用的方法中的局部变量(包括方法的参数)
2.2) 调用方法时会在栈中为该方法分配一块对应的栈帧, 栈帧中存储方法中的局部变量(包括方法的参数),方法调用结束时, 栈帧被清除, 局部变量(包括参数)一并被清除
2.3) 局部变量的生命周期:
调用方法时存储在栈中, 方法调用结束时与栈帧一并被清除

3.方法区
3.1) 存储 .class字节码文件(包括方法, 静态变量)
3.2) 方法只有一份, 通过this来区分具体的对象

拓展:
面向对象的三大特征:
封装:
1.类: 封装的是对象的属性和行为
2.方法: 封装一段特定的业务逻辑功能实现
3.访问控制修饰符: 封装具体的访问权限
继承:
1.作用: 代码复用
2.超类: 所有派生类所共有的属性和行为
接口: 部分派生类所共有的属性和行为
派生类: 派生类所特有的属性和行为
3.单一继承,多接口实现, 传递性
多态:
1.行为的多态: 所有抽象方法都是多态的
对象的多态: 所有对象都是多态的
2.向上造型, 强制类型转换, instanceof判断
3.多态的表现形式: 重写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值