Skip to content

Commit

Permalink
Merge pull request #1 from anonymity12/dev
Browse files Browse the repository at this point in the history
answered Java part on final, finally, finalize
  • Loading branch information
anonymity12 committed Aug 15, 2017
2 parents b6eabb9 + 223da74 commit 8a9b4ba
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,13 @@

- Java 中的 `final`, `finally``finalize`?

1. final: 修饰变量,方法,类;
修饰变量时表明这对象的值不可变,你不能为这个变量赋一个新的值,或者这样说:对基本类型而言,你不能改变其数值,对于引用,你不能将其指向一个新的引用(而引用自身是可以改变的)。
修饰方法时表明我们希望把这个方法锁定,以防止任何继承类修改它的含义,这样会确保在继承中,我们的final方法的行为不会改变,并且不会被覆盖。使用final方法的另一个考虑是效率问题:在Java早期的时候,遇到final方法,编译器会将此方法调用转为内嵌调用,如此一来以减小方法调用产生的开销。
修饰类的时候表明你不打算继承该类,而且也不允许别人这样做。
2. finally:是异常处理中进行收场处理的代码块,比如关闭一个数据库连接,清理一些资源占用的问题。不管有没有异常被捕获,finally子句中的代码都会被执行。
3. finalize:finalize出现的原因在于: 我们一定需要进行清理动作。Java没有用于释放对象的,如同C++里的delete调用,的方法,而是使用垃圾回收器(GC)帮助我们释放空间。当垃圾回收器准备释放对象占用的存储空间的时候,将首先调用其finalize()方法。

- 什么是内存泄露,Java 是如何处理它的?

- 垃圾收集器是什么?它是如何工作的
Expand Down

0 comments on commit 8a9b4ba

Please sign in to comment.