Нет, не всегда. finally может не выполниться в следующих случаях:
try или catch. Например, при вызове System.exit().try или catch.try-catch-finally.В остальных случаях, даже при выбросе unchecked исключения или возврате из блока try или catch, блок finally будет выполнен.
java