विकिपीडिया वास्तव में इस विषय के बारे में एक अच्छा लेख है यहाँ , जावा विनिर्देश के लिंक के साथ।
लाइनों के बीच पढ़ने का तात्पर्य यह है कि यदि आप निर्दिष्ट नहीं करते हैं strictfp
, तो जेवीएम और जेआईटी कंपाइलर के पास आपके फ्लोटिंग-पॉइंट गणनाओं को गणना करने के लिए लाइसेंस है, जो वे चाहते हैं। गति के हित में, वे सबसे अधिक संभावना आपके प्रोसेसर के लिए अभिकलन को सौंपेंगे। इसके साथ strictfp
, अभिकलन को IEEE 754 अंकगणितीय मानकों के अनुरूप होना पड़ता है, जो व्यवहार में, संभवतः इसका अर्थ है कि JVM अभिकलन करेगा।
तो आप क्यों इस्तेमाल करना चाहेंगे strictfp
? एक परिदृश्य जो मैं देख सकता हूं वह एक वितरित एप्लिकेशन (या मल्टीप्लेयर गेम) में है जहां सभी फ्लोटिंग-पॉइंट गणनाओं को नियतात्मक होने की आवश्यकता नहीं है, चाहे अंतर्निहित हार्डवेयर या सीपीयू हो। व्यापार बंद क्या है? सबसे अधिक संभावना निष्पादन समय।