You can check the limits:
http://www.cplusplus.com/reference/climits/[
^]
http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html[
^]
Both c++ and java depend on the underlying architecture you use. So on an x32 system the register size is 32bits and bigger numbers are often faked by combining 2 registers (eax and edx). Support for even bigger numbers needs to be implemented in special functions because there is no hardware support. This will make them slower. This goes for both java and c++.
Advantage with java is that the jit compiler will compile the program for the actual architecture it runs on. So a c++ program compiled for a 32 bit system will not use 64bit register sizes when running on x64. A java program will use the larger registers because the java runtime will optimize for it automatically.
Good luck!