2009-08-19 16 views
128

उत्सुक लोडिंग क्या है? मैं PHP/जेएस में कोड लेकिन एक और सामान्यीकृत उत्तर ठीक होगा।उत्सुक लोडिंग क्या है?

मैंने जावा & रूबी के बारे में बहुत सारे प्रश्न देखे, लेकिन मुझे इनमें से कोई भी भाषा नहीं पता, और मुझे कोड पढ़ने में मुश्किल होती है। मैं क्या पहली जगह में क्या करना चाहिए पता नहीं है

उत्तर

296

तीन स्तरों के होते हैं:

  1. उत्सुक लोड हो रहा है: तुम सब कुछ जब उनसे पूछा गया है। क्लासिक उदाहरण तब होता है जब आप दो मैट्रिक्स गुणा करते हैं। आप सभी गणना करते हैं। वह उत्सुक लोडिंग है;
  2. आलसी लोडिंग: जब आवश्यक हो तो आप केवल गणना करते हैं। पिछले उदाहरण में, जब तक आप परिणाम मैट्रिक्स के तत्व तक नहीं पहुंच जाते, तब तक आप कोई गणना नहीं करते हैं; और
  3. ओवर-उत्सुक लोडिंग: यह वह जगह है जहां आप कोशिश करते हैं और अनुमान लगाते हैं कि उपयोगकर्ता क्या मांगेगा और इसे प्रीलोड करेगा।

मुझे उम्मीद है कि संदर्भ में समझ में आता है कि आप इसे देख रहे हैं।

मुझे आपको "वेबबी" उदाहरण दें।

मेनू आइटम या नेविगेशन जैसे रोलओवर छवियों वाले पृष्ठ की कल्पना करें। तीन तरीके छवि इस पृष्ठ को लोड पर काम कर सकते हैं:

  1. लोड हर एक से पहले आप पेज (उत्सुक) प्रस्तुत करना आवश्यक छवि;
  2. पेज लोड पर केवल प्रदर्शित छवियों को लोड करें और यदि आवश्यक हो तो दूसरों को लोड करें (आलसी); और
  3. केवल पृष्ठ लोड पर प्रदर्शित छवियों को लोड करें। यदि पृष्ठ (ओवर-उत्सर्ज) की आवश्यकता है, तो पेज में अन्य छवियों को लोड करने के बाद पृष्ठ लोड हो गया है।

समझ में आओ?

+0

यद्यपि आप विशिष्ट प्रश्न से परे जा रहा द्वारा पानी में गिर चला गया नहीं है, यह अभी भी एक उत्कृष्ट जवाब है। यह छोटा, सरल है और एक उदाहरण देता है। – Phil

+3

धन्यवाद ..महान उत्तर :) – Orlando

21

यह lazy loading के विपरीत है, जो ऑब्जेक्ट की आवश्यकता होने तक किसी ऑब्जेक्ट की शुरुआत को रोकता है। उत्सुक लोडिंग सृजन पर एक वस्तु शुरू करता है।

+1

मैं जोड़ सकता हूं कि इन शर्तों का उपयोग आम तौर पर ओआरएम (ऑब्जेक्ट रिलेशनल मैपर) के संदर्भ में किया जाता है (और शायद आ सकता है?), जहां आप किसी ऑब्जेक्ट को किसी रिलेशनशनल डेटाबेस में किसी तालिका में मैप करते हैं। – Loki

9

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

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

आलसी लोड हो रहा है के लाभ अक्सर effiecency रूप citied कर रहे हैं, लेकिन यदि वस्तुओं है कि जटिल नहीं हैं या कुशलता एक चिंता का विषय उत्सुक लोड हो रहा है इस्तेमाल किया जा सकता

+7

जब आप इसके बारे में सोचते, आलसी लोड हो रहा है प्रत्येक कार्य कॉल पर कम स्मृति और अधिक संगणना के बारे में अधिक है, जबकि उत्सुक लोड हो रहा है और अधिक स्मृति और अधिक संगणना जब वर्ग बनाई गई है और कम संगणना का प्रयोग करेंगे जब समारोह कहा जाता है। – Loki

संबंधित मुद्दे