Wikipedia sebenarnya memiliki artikel bagus tentang topik ini di sini , dengan tautan ke spesifikasi Java.
Membaca yang tersirat, implikasinya adalah bahwa jika Anda tidak menentukan strictfp
, maka kompiler JVM dan JIT memiliki lisensi untuk menghitung perhitungan floating-point Anda seperti yang mereka inginkan. Untuk kepentingan kecepatan, mereka kemungkinan besar akan mendelegasikan perhitungan ke prosesor Anda. Dengan strictfp
on, perhitungan harus sesuai dengan standar aritmetika IEEE 754, yang, dalam praktiknya, mungkin berarti bahwa JVM akan melakukan perhitungan.
Jadi mengapa Anda ingin menggunakannya strictfp
? Satu skenario yang bisa saya lihat adalah dalam aplikasi terdistribusi (atau game multi-pemain) di mana semua perhitungan floating-point harus deterministik tidak peduli apa perangkat keras atau CPU yang mendasarinya. Apa untungnya? Kemungkinan besar waktu eksekusi.