Java was, for the computation I needed to do... Eight times slower than C! I know I was hitting a edge case for a very specific kind of computation but still. The situation is so bad that there are people who wrote wrappers calling GMP from within Java.
I think some Java devs don't realize how slow some of the Java API are for certain tasks. For example there's no way Java BigInteger can compete with GMP and there's no way GMP is getting ported to Java anytime soon (GMP is open source: just go and look at some of the optimization going on and you'll see what I'm talking about). Most Java devs don't realize how complex and optimized some libraries out there are and how low-level you need to go when you need the utmost performance.
Sure, server-side Java is fast for most things it's used for. But not everything is "server-side" and there are several domains where Java simply doesn't cut it compared to good old C + assembly.
And people finding Java being nearly one order of magnitude slower than the alternative for some tasks may be tempted to ask "Why is Java so slow...".
Now this isn't a criticism of Java: Java is the language I know best and used (and still use) the most. And I know it well enough to know when it's probably a good idea to try to find an alternative.
Still, I wouldn't call that "java being slow", more, "java having a god awful BigInteger library class".