32-bit Java ((link))
This is the biggest driver. Large corporations, banks, and government institutions often run software that was built 15 or 20 years ago. Rewriting millions of lines of code to be compatible with 64-bit architecture is expensive and risky. If the original application was built using 32-bit native libraries (JNI), it must run on a 32-bit Java Virtual Machine (JVM). It cannot simply be dropped onto a 64-bit server.