What compiler settings were you using? In my experience, C is faster than Java if you turn on full optimization settings.
I also wonder if Java has any kind of optimizations to experiment with.
I don't know anything about Java optimization.
Really cool interesting stuff!
-O2 or -O3 does some neat stuff like unrolling loops and inlining functions
--fast_math is another one I use