[CareerCup] 14.3 Final Finally Finalize 关键字比较 - Grandyang - 博客园



[CareerCup] 14.3 Final Finally Finalize 关键字比较 - Grandyang - 博客园

14.3 What is the difference between final, finally, and finalize?

 

这道题考察我们Java中的三个看起来很相似的关键字final,finally和finalize。

别看它们三长的很像,但是完全不是一回事。final用在一个变量,方法或是类之前表示是否可变化。而finally是用在try/catch模块中来却表一段代码总是被执行了。finalize方法是被垃圾管理器调用当没有引用存在了。下面来更进一步区分它们:

final

作用于主要类型的变量:变量值不能改变

作用于引用类型的变量:引用变量不能指向堆中其他的对象

作用于一个方法:方法不能被重写

作用于一个类:该类不能有子类

finally

finally块可以为try或catch之后,里面的代码总会被执行(除了虚拟机或者线程在try/catch中就结束)

finalize()

finalize()方法被垃圾回收机制调用,当没有引用存在时。经常备用于清理资源,比如关闭一个文件。


Read full article from [CareerCup] 14.3 Final Finally Finalize 关键字比较 - Grandyang - 博客园


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts