java编程思想读书笔记 第五章 初始化与清理

第五章主要介绍java初始化和垃圾清理的内容。



1.方法重载


为了让方法名相同但是形成参数不同的构造器同时存在,必须用到方法重载。
(1)每个重载的方法都必须有一个独一无二的参数类型列表;
(2)涉及基本类型的重载,基本类型能从较小的自动提升到一个较大的类型(若传入的参数小于方法申明中的,实际数据类型会被提升(char型找不到会自动提升为int)),反之窄化转换。


2.清理:终结处理和垃圾回收


垃圾回收器只知道释放那些经由new分配的内存。
java里的对象并非总是被垃圾回收:
(1)对象可能不被垃圾回收。
(2)垃圾回收不等于“析构”。
(3)垃圾回收只与内存有关(使用垃圾回收器的唯一原因就是回收程序不再使用的内存)。
垃圾回收器如何工作:
Java虚拟机采用一种自适应的垃圾回收技术;
要是没有新垃圾及产生,就会转换到 "标记-清扫"工作模式;
"标记-清扫"所依据的思路同样是从堆栈和静态存储区出发,遍历所有的引用,进而找出存活的对象,给对象一个标记。全部标记工作完成后,清理动作才会开始;
“停止-复制”的回收动作不是在后台运行的,它发生时,程序将会被暂停。它将所有活对象从旧堆复制到新堆,然后再释放旧堆中的对象所占内存;
如果所有对象都很稳定,垃圾回收器的效率降低,就切换到“标记-清扫”方式,同样,Java虚拟机会追踪“标记-清扫”的效果,如果堆空间出现很多碎片,就会切换回“停止-复制”方式。
Java虚拟机中有很多附加技术提升速度,比如“即时”编译器技术。这种技术将程序全部或部分翻译成本地机器码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值