C: \ Windows \ system32'deki java.exe bu dizine yerleştirilir, çünkü bu dizin neredeyse sizin yolunuzda diğerlerinden daha erken olacaktır. Yani, bu java.exe dosyasının hangi JRE veya JDK'ları kurduğuna bakmaksızın, ilk önce kendi yolunda bulunduğundan emin olmanın bir yolu.
Bu java.exe ne yapar, hangi gerçek java.exe başlatılması gerektiğini görmek için kayıt defterini kontrol etmektir ve kendini değiştirmek için başlattı.
Sonuç olarak, java'nın belirli bir sürümünü çalıştırmak istiyorsanız ve yönetici ayrıcalıklarına sahip değilseniz (kullanıcı yolunuzu düzenleyebilirsiniz ancak sistem yolunu düzenleyemezsiniz), ardından istediğiniz sürümü oluşturmak için kayıt defterini düzenlemeniz gerekir. java.exe tarafından C: \ Windows \ system32 içinde seçilecek olanı.
Oracle'ın Java 1.6.x için doc'suna göre: "Java SE Çalışma Zamanı Ortamı'nın Microsoft Windows sürümü için yükleme programı, yol ve sürüm bilgilerini kaydetmek için kayıt defterini kullanır. Sistem dizinindeki uygulama başlatıcısı, konumunu almak için kayıt defteri ayarlarını kullanır. Java SE Runtime Environment, bir uygulamayı başlatırken kullanacakları "
... ve ...
"Java.exe'nin yürütülebilir dosyasının iki kopyası yüklü. Bir kopya JRE'nin bin dizininde. İkinci kopya, sisteme bağlı olarak C: \ windows \ system veya C: \ winnt \ system32 dizinine yerleştirildi. sistem dizinindeki konumunun java.exe dosyasının bu ikinci kopyası, tam yolunu vermeden herhangi bir dizin konumundan başlatılabilir.
Java.exe dosyasının yürütülebilir dosyasının bu ikinci kopyası, JRE'nin yerini bulmak için hangi kayıt defteri anahtarının kullanılacağını belirlemek için CurrentVersion kayıt defteri ayarına dayanır. Örneğin, CurrentVersion kayıt defteri 1.6 olarak ayarlanmışsa, sistem dizininde yürütülebilir java.exe, JRE'nin nerede kurulu olduğunu belirlemek için HKEY_LOCAL_MACHINE \ Software \ JavaSoft \ Java SE Çalışma Zamanı Ortamı \ 1.6 anahtarına bakacaktır. "