$ java -version
java version "1.5.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08)
Java HotSpot(TM) Server VM (build 1.5.0_01-b08, mixed mode)
versus
$ java -d64 -version
java version "1.5.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_01-b08, mixed mode)
If you don't have the 64 bit overlay installed, you will get something like:
$ java -d64 -version
execve(): No such file or directory
Error trying to exec jdk1.5.0_02/bin/sparcv9/java.
Check if file exists and permissions are set correctly.
Failed to start a 64-bit JVM process from a 32-bit JVM.
Verify all necessary J2SE components have been installed.
(Solaris SPARC 64-bit components must be installed after 32-bit components.)
Running in 32bit mode, you're limited to 4gb minus overhead ... so usually somewhere over 3gb of java heap size..
Running in 64bit mode, I don't think you can reach a limit easy... Physical memory will be the limit.