First check that you have installed the solaris sparc 64-bit packages (if you use the sparc platform) in addition to the sparc 32-bit packages (you may check that you have the 64-bit binaries in the $JAVA_HOME/bin/sparcv9 directory, and in $JAVA_HOME/jre/bin/sparcv9, plus libraries in $JAVA_HOME/jre/lib/sparcv9). the binary $JAVA_HOME/bin/java is a 32-bit wrapper that will launch the 64-bin binary.

#truss -t exec $JAVA_HOME/bin/java -d64 -version

execve("/usr/jdk/instances/jdk1.6.0/bin/java", 0xFFBFFDEC, 0xFFBFFDFC) argc = 3 execve("/usr/jdk/instances/jdk1.6.0/bin/sparcv9/java", 0x0002B170, 0x0002BE30) argc = 2

java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0-b105, mixed mode)

so you can see that the 64-bit binary is launched: /usr/jdk/instances/jdk1.6.0/bin/sparcv9/java

Check if it's 32-bit
#truss -t exec $JAVA_HOME/bin/java -version

Read More about [How to check JDK 32-bit or 64-bit...