第五章——初始化与清理

来源:互联网 发布:淘宝超值优惠券网 编辑:程序博客网 时间:2024/04/29 20:30

1.java中采用构造器进行初始化,类似于c++中的构造函数,构造器与类名相同。一般根据参数的类型、个数来区分重载的方法,参数顺序也可以,但是一般不这么做。

2.不能根据返回值来区分重载方法。

3.this关键字

this都是指向这个对象或当前对象,而且本身会产生当前对象的一个句柄。

在构建器里调用构建器:可能需要在一个构造器中调用例外一个构造器,为了防止代码的重复,就用this,但只能调用一次,不能调用两次,而且必须放在最前

4.static方法就是没有this的方法

5.终结处理:

finalize()方法

6.垃圾处理原理

由于在堆上创建对象消耗比较大,垃圾回收会优化对象创建的效率。

一种朴素的垃圾回收机制叫做引用计数,就是记录每个对象的当前引用个数,如果是0,则回收。这种方案存在两个问题,一个是效率低下,每次都需要遍历,第二

是存在相互引用的问题。

java虚拟机采用一种自适应的方式。不同的虚拟机采用不同的方式,有一种叫做“停止——复制”的方式,先停止当前运行,然后将存活的对象复制到另外一个堆上,

这样就删除掉了垃圾对象。这种效率比价低,一方面需要两个堆循环交替使用,另一方面,当程序稳定的时候将会有很少的垃圾,因而复制的效率很低。因而有的java虚拟机会采用另外一种模式,当没有新垃圾生成是,就转化为“标记——清扫”模式。


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

0 0
原创粉丝点击