मैंने नीचे दिए गए शो के रूप में slf4j में कुछ कोड देखा। मुझे नहीं पता कि यहां निरंतर तहखाने से क्यों बचें। क्या ऐसा करना जरूरी है? या बस सबसे अच्छा अभ्यास। ऐसा करने का क्या फायदा है?जावा में लगातार फोल्डिंग से बचने के लिए क्यों? कब?
धन्यवाद।
/**
* Declare the version of the SLF4J API this implementation is compiled against.
* The value of this field is usually modified with each release.
*/
// to avoid constant folding by the compiler, this field must *not* be final
public static String REQUESTED_API_VERSION = "1.6"; // !final**
क्या आपने इस विषय पर विकी देखा है? मुझे लगता है कि यह बहुत अच्छी तरह से बताता है। http://en.wikipedia.org/wiki/Constant_folding – CoolBeans
आप इस फ़ील्ड को उजागर करने के बजाय एक विधि का उपयोग कर सकते हैं (शायद सबसे अच्छा), 'अंतिम' का उपयोग करें, लेकिन विधि ('1.6" .toString() ') या एक * संकलन-समय स्थिर होने से रोकने के लिए कुछ कोड जोड़ें * फिर भी कोई अनावश्यक बाइटकोड नहीं जोड़ें ('शून्य! = शून्य?" ":" 1.6 "')। –
हाँ, सार्वजनिक स्थैतिक स्थिरांक icky हैं! –