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

JavaScript की मेमोरी लाइफ साइकिल के बारे में विस्तार से बताएं?


मेमोरी चक्र

प्रोग्रामिंग भाषा चाहे जो भी हो, लगभग सभी प्रोग्रामिंग भाषाओं के लिए मेमोरी चक्र समान होता है।

मेमोरी लाइफ साइकिल में 3 चरण होते हैं

1) मेमोरी का आवंटन।

2) आवंटित मेमोरी का उपयोग (पढ़ना या लिखना)

3) जब अनावश्यक हो तो आवंटित मेमोरी को मुक्त करना।

पहला और अंतिम भाग निम्न-स्तरीय भाषाओं में सीधे जुड़े होते हैं लेकिन JavaScript जैसी उच्च-स्तरीय भाषाओं में अप्रत्यक्ष रूप से जुड़े होते हैं।

1) JavaScript में मेमोरी का आवंटन

JavaScript को गार्बेज कलेक्टेड भाषा कहा जाता है, अर्थात जब चर घोषित किए जाते हैं, तो यह स्वचालित रूप से उन्हें मेमोरी आवंटित करता है। जब घोषित चरों के लिए कोई और संदर्भ नहीं रहता, तो आवंटित मेमोरी मुक्त हो जाती है।

उदाहरण

निम्न उदाहरण में JavaScript ने एक संख्या, एक स्ट्रिंग और एक ऑब्जेक्ट के लिए मेमोरी आवंटित की है।

var n = 989;      // allocates memory for a number var s = 'qwerty'; // allocates memory for a string var o = {         a: 1,         b: null         };        // allocates memory for an object and contained values

2) आवंटित मानों का उपयोग

मानों का उपयोग मूल रूप से आवंटित मेमोरी में पढ़ना और लिखना है। यह चर या ऑब्जेक्ट प्रॉपर्टी के मान को पढ़कर या लिखकर या फ़ंक्शन में आर्गुमेंट पास करके किया जा सकता है।

3) जब अनावश्यक हो तो आवंटित मेमोरी को मुक्त करना

अधिकांश मेमोरी प्रबंधन समस्याएं इसी चरण में आती हैं। यहां कठिन कार्य यह पता लगाना है कि आवंटित मेमोरी कब आवश्यक नहीं रही। इस समस्या को हल करने के लिए अधिकांश उच्च-स्तरीय भाषाएं गार्बेज कलेक्टर नामक सॉफ़्टवेयर का एक टुकड़ा एम्बेड करती हैं।

गार्बेज कलेक्टर का कार्य मेमोरी आवंटन को ट्रैक करना और यह पता लगाना है कि आवंटित मेमोरी कब आवश्यक नहीं रही ताकि उसे मुक्त किया जा सके। दुर्भाग्य से यह प्रक्रिया केवल एक अनुमान है क्योंकि यह जानने की सामान्य समस्या कि मेमोरी का कोई टुकड़ा आवश्यक है या नहीं, अनिर्णेय है (एल्गोरिदम पता नहीं लगा सकता)।

JavaScript गार्बेज कलेक्टर रेफरेंस-काउंटिंग गार्बेज कलेक्शन जैसे कुछ एल्गोरिदम का उपयोग करता है ताकि यह पता लगाया जा सके कि कौन सी मेमोरी अब उपयोग में नहीं है।


  1. जावास्क्रिप्ट में एरर नेम वैल्यूज़ को उदाहरण सहित समझाएं जावास्क्रिप्ट में एरर नेम वैल्यूज़ को उदाहरण सहित समझाएं

    परिचय एरर नेम वैल्यू का उपयोग एरर का नाम सेट या रिटर्न करने के लिए किया जाता है। जावास्क्रिप्ट में कई बिल्ट-इन एरर टाइप्स होते हैं, जिनमें से प्रत्येक का एक विशिष्ट नाम होता है: क्र.सं.एरर नाम और विवरण 1EvalError - eval() फ़ंक्शन में एरर को दर्शाता है (वर्तमान में कम उपयोग होता है) 2RangeError

  1. जावास्क्रिप्ट में फाइनली स्टेटमेंट को उदाहरण सहित समझाएं जावास्क्रिप्ट में फाइनली स्टेटमेंट को उदाहरण सहित समझाएं

    परिचय finally स्टेटमेंट try और catch ब्लॉक के बाद हमेशा निष्पादित होता है, चाहे एरर हुआ हो या नहीं। यह क्लीनअप ऑपरेशन्स (फ़ाइल बंद करना, कनेक्शन रिलीज़ करना, लोडिंग इंडिकेटर छुपाना) के लिए आदर्श है। उदाहरण निम्न कोड जावास्क्रिप्ट में फाइनली स्टेटमेंट के लिए है: <!DOCTYPE html> <html lang

  1. MS SQL Server की वास्तुकला के बारे में जानें MS SQL Server की वास्तुकला के बारे में जानें

    MS SQL Server की वास्तुकला (Architecture) पिछले लेखों में, आप पहले से ही SQL Server के बारे में संक्षेप में जानते हैं, कंप्यूटर पर SQL Server कैसे इंस्टॉल करें। इस खंड में हम SQL Server की वास्तुकला के बारे में जानेंगे। हम SQL Server की वास्तुकला को निम्नलिखित वर्गों में विभाजित करेंगे ताकि इसे समझ