Seriously, I think it is the worst thing to exist in ages. It's a very backwards-designed language - things that would be simple and easy in other languages (like higher-order functions, pattern matching or even multiple dispatch, declarative/concatenative programming, whatever) are extremely hard in Java (so they invent bullshit anti-patterns like Strategies, Factories, Visitors, whatever).
I feel like most of the code is Enterprise crap - Java EE, Spring, all of these bullshit frameworks with stupid concepts like DI/IoC (which wouldn't be bad outside of Java) or "Aspect Oriented Programming" (we could play buzzword bingo all day long.)
One class per file is stupid, especially in a