java学习记录

java学习记录

  1. java初始化时有构造方法,如果没有声明构造方法,会默认创建一个构造方法
  2. 构造方法可以进行重载
  3. 重载时只能通过形式参数进行区分,把形参的顺序调换也可以形成重载
  4. This表示当前方法的引用
  5. 在构造方法中可以使用this调用另外一个构造方法,但只能调用一个构造方法,并且还要在当前构造方法的首行进行调用,否则编译器会报错
  6. Java中可以声明一个finalize()方法,该方法表示当前方法可以进行内存回收
  7. Java的垃圾回收器只对内存进行回收
  8. 就算声明了finalize()方法也不一定会进行回收
  9. System.gc()当前方法是调用终结动作
  10. java回收机制

引用计数:一种简单但速度慢的垃圾回收技术
每个对象都包含有一个引用计数器,当有引用连接至对象时,引用计数加一,当离开作用域或置为null时减一,这种方式有一个缺陷,如果对象之间存在循环引用,可能会出现“对象应该被回收,但引用计数却不为0”

自适应垃圾回收技术
有一种做法为停止-复制:做法是先停止程序的运行,然后将所有的存活对象从当前堆复制到另一个堆,没有复制的都是垃圾,这种方法有两个劣势:1.需要两个堆 2.复制时如果没有垃圾或只有少量垃圾,还是会进行复制,这样会浪费内存
第二种做法为标记清理:便利所有引用,找出所有的存活对象,给与标记,这个过程不会进行回收,当标记完成后才会进行回收,没有标记的都是垃圾
停止复制标记清理可以进行自适应调用
如果所有对象都很稳定则使用标记清理,如果堆空间有很多碎片,则使用停止复制

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值