Java finallyとfinalize は文字は似ているが挙動は全然違う

finally

finallyはtryと併用して、returnされる前に実行されるブロックです。

実際に記載するとこのようになります。

public String tryCatchTest(){

  String nullString = null;

  try{

    System.out.println("do try");

    //NullPointerException
    nullString.toString();

    return "return try";

  }catch(Exception e){

    System.out.println("do catch");
    return "return catch";

  }finally{

    System.out.println("do finally");

  }
}

上記コードを実行すると次のような結果になります。

do try
do catch
do finally
return catch

finalize

finalizeはメソッドです。ガベージコレクション実行時に呼び出されます。しかし、Java9で非推奨(@Deprecated)になりました。

参考

Object (Java SE 9 & JDK 9 ) – Oracle