Proper use of final [duplicate]-Collection of common programming errors

Yes, you are overdoing it. Historically, this might have resulted in some optimizations — e.g. final methods can be inlined more easily — but these days, most of those optimizations are done whether or not you actually label the method final.

The places you should still use final are on most fields in classes, on classes that shouldn’t be, or aren’t, extended, on methods you don’t want overridden, and on local variables that need to get referenced in anonymous inner classes.

In particular, it is overkill to do it on local variables and on method parameters that will not get wrapped in anonymous inner classes.