Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में अस्थिर और क्षणिक के बीच अंतर

एक अस्थिर कीवर्ड का उपयोग मल्टीथ्रेडिंग वातावरण में किया जाता है जहां दो थ्रेड एक ही चर को एक साथ पढ़ते और लिखते हैं। वाष्पशील कीवर्ड सीपीयू कैश के बजाय परिवर्तनों को सीधे मुख्य मेमोरी में फ्लश करता है।

दूसरी ओर, क्रमांकन के दौरान क्षणिक कीवर्ड का उपयोग किया जाता है। क्षणिक के रूप में चिह्नित फ़ील्ड क्रमांकन और अक्रमांकन का हिस्सा नहीं हो सकते। हम किसी भी वेरिएबल के वैल्यू को सेव नहीं करना चाहते हैं तो हम उस वेरिएबल के साथ क्षणिक कीवर्ड का उपयोग करते हैं।

<वें शैली="पाठ्य-संरेखण:केंद्र; चौड़ाई:6.8027%;">कुंजी <वें शैली="पाठ्य-संरेखण:केंद्र;">क्षणिक
Sr. नहीं. अस्थिर
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);
   }
}

  1. जावा में सीरियलाइज़ेशन और एक्सटर्नलाइज़ेशन के बीच अंतर

    सीरियलाइज़ेशन और एक्सटर्नलाइज़ेशन दोनों किसी ऑब्जेक्ट को स्ट्रीम बाइट में बदलने और डेटाबेस या मेमोरी में बाइट स्ट्रीम को स्टोर करने की प्रक्रियाएँ हैं। java.io.Serializable इंटरफ़ेस को लागू करने वाले वर्ग को क्रमबद्ध किया जा सकता है। दूसरी ओर, आवेदन में आवश्यकता के आधार पर कस्टम क्रमांकन के लिए उपयो

  1. जावा में इटरेटर और एन्यूमरेशन के बीच अंतर

    इटरेटर और एन्यूमरेशन दोनों ही संग्रह से किसी तत्व को पार करने और एक्सेस करने के लिए कर्सर हैं। वे दोनों संग्रह ढांचे से संबंधित हैं। संग्रह ढांचे में JDK1.0 और Iterator में JDK.1.2 संस्करण में गणना जोड़ी गई थी। एन्यूमरेशन संग्रह में संरचनात्मक परिवर्तन नहीं कर सकता क्योंकि इसमें संग्रह में तत्व तक

  1. जावा में ऐरेलिस्ट और हैशसेट के बीच अंतर

    हैशसेट और ऐरेलिस्ट दोनों ही जावा संग्रह ढांचे के कुछ सबसे महत्वपूर्ण वर्ग हैं। ArrayList और हैशसेट के बीच महत्वपूर्ण अंतर निम्नलिखित हैं। सीनियर। नहीं. कुंजी ऐरेलिस्ट हैशसेट 1 कार्यान्वयन ArrayList सूची इंटरफ़ेस का कार्यान्वयन है। दूसरी ओर हैशसेट एक सेट इंटरफ़ेस का कार्यान्वयन है। 2 आंतरिक क