浅析finalfinally和finalize之间的区分

Posted wonderfulworld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅析finalfinally和finalize之间的区分相关的知识,希望对你有一定的参考价值。

一、final

  final是一个用来修饰的关键词,可以用来修饰成员、方法和类。

   1)final成员。final成员是只读的,在声明时、静态块中、构造方法中可以初始化,经常与static修饰词一起使用。

   2)final方法。final方法是不允许被子类重写的。被final修饰的方法比非final方法运行的快。

   3)final类。final类不允许被继承。String、Interger以及其他一些分装类都是final类。

二、finally

  finally是作为异常处理的一部分,只能用在try/cath中,自身拥有一个语句块,该语句块的语句当发生异常时一定会最后执行,通常用来释放系统资源。

三、finalize

  Java自身带有垃圾回收机制,专门负责回收无用对象占用的内存资源,所以编写者一般不用进行释放无用内存的操作。但是垃圾回收机制只能回收

  由new分配的内存,则那么不是由new申请的内存便无法回收。所以为了处理这个问题Java允许在类中定义finalize()方法,该方法只负责由new申请

  之外的内存。

  如果某个类实现了finalize()方法,则JVM在执行该对象回收之前,会首先执行finalize()方法。

 

  该文章存在很多问题,之后会渐渐完善。

以上是关于浅析finalfinally和finalize之间的区分的主要内容,如果未能解决你的问题,请参考以下文章

Java面试题之finalfinally和finalize的区别

finalfinally与finalize的区别?

finalfinally与finalize的区别

看完这篇 finalfinally 和 finalize 和面试官扯皮就没问题了

Java中finalfinally和finalize的区别

finalfinally finalize 有什么不同?