Custom number parsing, minimising the number of memory allocations to not be punished by the garbage collector. All sort of micro optimisations that make those solutions a terrible way to showcase a language (i.e. you can write much clearer and concise code but obviously slower).
I agree that the simplest solution in each language is the best way to compare - however this problem seems less about showing off java and more about challenging folks.