The question does not make much sense, because if you use Java, then you cannot use GMP, and if you do not use Java, then you cannot use Java BigInteger.
You can do cryptography with both (I do this for a living). Java integers are decent, but not very fast (they are "fast enough for most purposes"). For example, I get 300 RSA signatures per second with Java, while GMP will produce more than 1000 per second on the same system.
However, Java comes with a garbage collector, which is good.
source
share