Określanie, czy aplikacja jest uruchomiona na komputerze 32-bitowym (31-bitowy w systemie IBM Z), czy w 64-bitowym środowisku JVM

Niektóre aplikacje Java™ muszą być w stanie określić, czy działają one na 32-bitowej (31-bitowej w systemie IBM Z®), czy w 64-bitowej maszynie JVM.

O tym zadaniu

Jeśli aplikacja ma rodzimą bibliotekę kodu, biblioteka musi być skompilowana osobno w 32-bitowych (31-bitowych w systemie IBM Z) i 64-bitowych formularzach dla platform obsługujących zarówno 32-, jak i 64-bitowe tryby pracy. W takim przypadku aplikacja musi załadować poprawną bibliotekę w czasie wykonywania, ponieważ nie jest możliwe łączenie 32-bitowych (31-bitowych w systemie IBM Z) i kodu 64-bitowego.

W przypadku maszyny wirtualnej Eclipse OpenJ9 właściwość systemowa com.ibm.vm.bitmode umożliwia aplikacjom określenie trybu, w którym działa maszyna JVM. Zwracane są następujące wartości:
  • 32-wirtualna maszyna języka Java działa w trybie 32-bitowym (31-bitowy w systemie IBM Z)
  • 64-maszyna JVM działa w trybie 64-bitowym
Istnieje możliwość sprawdzenia właściwości com.ibm.vm.bitmode z poziomu kodu aplikacji przy użyciu wywołania: System.getProperty("com.ibm.vm.bitmode");