For scientific computing Julia generally destroys Java. Julia is simply very well designed for number crunching. Java has a very good garbage collector however so the areas Java dominate today on the Web it will like do better. But in the domain of scientific computing and machine learning Julia is really hard to beat in terms for performance.
Comparing with C is hard because it is a question of what exactly are you comparing against? C is a significantly more low level language which is much harder to code correctly and which requires significantly more effort.
But let me put it a bit in perspective. Fortran is generally considered to have higher performance than C in number crunching. Julia developers have managed to beat the performance of highly tuned Fortran libraries such as BLAS. That is a library optimized over decades.
There are people working with climate models who used to code in Fortran. They were willing to take a performance hit of 1/3 to switch to a more productive language like Julia. Turns out they didn't take a performance hit, they not only got more productive but they also got much higher performance.
The problem for Julia today isn't really its capability but that it sounds too good to be true and its gets dismissed out of hand for that reason. I have seen several people who simply don't bother exploring Julia because they don't find the claim credible. It defies what people think they know about tradeoffs in programming language design.
Hence to get people onboard with Julia you often have to get into some details how it actually achieves such crazy performance. Once people understand better the mechanism used it is easier to accept the claims of the Julia community without thinking it is hype from language zealots.
Of course there are tradeoffs but those simply don't matter as much in most context today. Julia code tends to take more space thanks to a lot of specialization to optimize different code paths. On the other hand data tends to be stored quite compact to for scientific computing operating on large chunks of data the overhead of Julia code will be dwarfed by the data structures you work with.