There's no place like Legacy Code!
And you know it becomes legacy as soon as new moon rises. Even if you have written it yourself!It is no easy task to understand alien (or alientated) code. The best IDEs are optimaized to write code and they fail to help you read and understand the code.
I have already posted on OpenGrok, that can be used to search huge codebase in milliseconds. It has become even better, that now you can set it up in 2 minutes with docker. With OpenGrok you can search repeated code phrases, common patterns in several codebases.
But to understand concepts in a given project can be hard. Even though UML diagrams can be generated from source code, you usually get a huge and messy diagram with endless web of connections.
There is though a refreshing new tool on the stage called Sourcetrail.
The clean and intuitive design makes it easy to adopt, and you can browse your legacy project asap based on its maven project file. Some shortcuts are a bit strange to me (e.g.: CTRL+z is back), but in the long run it has no relevance.
It has recently become free as beer, but please, support it with donation of any amount - it is worth every penny!