In the heart of every financial company that has been around for longer than 30 years, lies old code.
The keys to their kingdoms are made from the old code. The old guard has a foot in the grave, and the finance people will pay through the nose to keep everything exactly how it is.
Got it, curious though, don't they use ( or somehow switched) something like oracle technologies (java, SQL, etc), with all the promises they claim everywhere?
Maintenance costs are relatively small. You can hire another pricey custodian, or remake a building from the ground up.
Domain Specific. Finance tends to require truly accurate floating point math, which can be achieved with modern languages, but is not intrinsic. All it takes is one junior to cause a very bad day.
Security concerns are large. Java is a language not known for it's safety, stability, nor native performance. No offence to anyone who likes Java.