Total speculation... but maybe because C git clone always reads from local disk (?). jgit clone appears to read from Bigtable/GFS, and those systems have in-memory caches, or columns can reside totally in memory. Also you could probably make use of parallelism in I/O with cluster of servers, where as with local disk you are probably limited by there being a single disk head that has to move around.
So I doubt it has anything to with Java, but the underlying storage. If I'm wrong I'd also like to hear about it!
I'd love to hear more about any code changes that lead to this result.