I have a friend who works for a very big company that sells giant apps (SAP/PeopleSoft kind of stuff).
He spent the last year trying to get a daily batch process to complete in under 24 hours using Java. His conclusion after much profiling was JDBC overhead is excessive in Java. They ended up doing a bridge to native code to make it work fast enough.
Java still has a lot of performance scaling issues in some key areas. JDBC is one. GUI development remains shiite as well.
Its just sad.