एक अस्थिर कीवर्ड का उपयोग मल्टीथ्रेडिंग वातावरण में किया जाता है जहां दो थ्रेड एक ही चर को एक साथ पढ़ते और लिखते हैं। वाष्पशील कीवर्ड सीपीयू कैश के बजाय परिवर्तनों को सीधे मुख्य मेमोरी में फ्लश करता है।
दूसरी ओर, क्रमांकन के दौरान क्षणिक कीवर्ड का उपयोग किया जाता है। क्षणिक के रूप में चिह्नित फ़ील्ड क्रमांकन और अक्रमांकन का हिस्सा नहीं हो सकते। हम किसी भी वेरिएबल के वैल्यू को सेव नहीं करना चाहते हैं तो हम उस वेरिएबल के साथ क्षणिक कीवर्ड का उपयोग करते हैं।
Sr. नहीं. | <वें शैली="पाठ्य-संरेखण:केंद्र; चौड़ाई:6.8027%;">कुंजीवें>अस्थिर | <वें शैली="पाठ्य-संरेखण:केंद्र;">क्षणिकवें>||
---|---|---|---|
1 | मूलभूत | Volatile कीवर्ड का उपयोग परिवर्तनों को सीधे मुख्य मेमोरी में फ़्लश करने के लिए किया जाता है | क्रमिकरण के दौरान चर को बाहर करने के लिए क्षणिक कीवर्ड का उपयोग किया जाता है |
2. | डिफ़ॉल्ट मान | अस्थिर डिफ़ॉल्ट मान के साथ प्रारंभ नहीं होते हैं। | डिसेरिएलाइज़ेशन के दौरान, क्षणिक चर को एक डिफ़ॉल्ट मान के साथ प्रारंभ किया जाता है |
3 | स्थिर | अस्थिर चर के साथ अस्थिर का उपयोग किया जा सकता है। | स्थिर कीवर्ड के साथ क्षणिक का उपयोग नहीं किया जा सकता |
4 | अंतिम | अस्थिर का उपयोग अंतिम कीवर्ड के साथ किया जा सकता है | अंतिम कीवर्ड के साथ क्षणिक का उपयोग नहीं किया जा सकता |
क्षणिक का उदाहरण
// A sample class that uses transient keyword to // skip their serialization. class TransientExample implements Serializable { transient int age; // serialize other fields private String name; private String address; // other code }
अस्थिर का उदाहरण
class VolatileExmaple extends Thread{ boolean volatile isRunning = true; public void run() { long count=0; while (isRunning) { count++; } System.out.println("Thread terminated." + count); } public static void main(String[] args) throws InterruptedException { VolatileExmaple t = new VolatileExmaple(); t.start(); Thread.sleep(2000); t.isRunning = false; t.join(); System.out.println("isRunning set to " + t.isRunning); } }