كيفية إدارة الذاكرة في جافا سكريبت - منتديات أحاسيس الليل

 ننتظر تسجيلك هـنـا

( إعلانات احاسيس الليل )
 
   

فـعـآلـيـآت آلـمـنـتـدى


الإهداءات


العودة   منتديات أحاسيس الليل > |[ :: المنتديات التقنيه :: ]| > تطوير المواقع والمنتديات والمدونات

تطوير المواقع والمنتديات والمدونات •₪• تطوير آلموآقع وآلمنتديآت وآلمدونآت •₪•

-==(( الأفضل خلال اليوم ))==-
أفضل مشارك : أفضل كاتب :
بيانات الحر
اللقب
المشاركات 737110
النقاط 365089
بيانات مسگ
اللقب
المشاركات 19080
النقاط 135133

كيفية إدارة الذاكرة في جافا سكريبت

في لغة البرمجة (JavaScript)، عندما ننشئ متغيرات أو وظائف أو أي شيء يمكن أن يخطر ببالك، يخصص محرك (JS) ذاكرة لهذا ويطلقها بمجرد عدم الحاجة إليها، حيث أن تخصيص الذاكرة

 
 
أدوات الموضوع انواع عرض الموضوع
#1  
قديم 13-Feb-2023, 12:27 AM
عاشق الغيم غير متواجد حالياً
 
 عضويتي » 361
 جيت فيذا » Sep 2022
 آخر حضور » 10-Mar-2023 (02:08 AM)
آبدآعاتي » 8,836
تقييمآتي » 26681
الاعجابات المتلقاة » 18394
الاعجابات المُرسلة » 7028
 حاليآ في » مكه المكرمه
دولتي الحبيبه » دولتي الحبيبه Adobe Photoshop 7,0
جنسي  »
آلقسم آلمفضل  »
آلعمر  »
الحآلة آلآجتمآعية  »
 التقييم » عاشق الغيم has a reputation beyond reputeعاشق الغيم has a reputation beyond reputeعاشق الغيم has a reputation beyond reputeعاشق الغيم has a reputation beyond reputeعاشق الغيم has a reputation beyond reputeعاشق الغيم has a reputation beyond reputeعاشق الغيم has a reputation beyond reputeعاشق الغيم has a reputation beyond reputeعاشق الغيم has a reputation beyond reputeعاشق الغيم has a reputation beyond reputeعاشق الغيم has a reputation beyond repute
مشروبك  » مشروبك   Male
قناتك   » قناتك 7up
ام ام اس ~
MMS ~
 
افتراضي كيفية إدارة الذاكرة في جافا سكريبت

Facebook Twitter


في لغة البرمجة (JavaScript)، عندما ننشئ متغيرات أو وظائف أو أي شيء يمكن أن يخطر ببالك، يخصص محرك (JS) ذاكرة لهذا ويطلقها بمجرد عدم الحاجة إليها، حيث أن تخصيص الذاكرة هو عملية حجز مساحة في الذاكرة أثناء تحرير الذاكرة، مما يؤدي إلى توفير مساحة جاهزة للاستخدام لغرض آخر.

دورة حياة الذاكرة في جافا سكريبت


هناك (3) مراحل أو أجزاء من دورة حياة الذاكرة والتي هي نفسها لجميع لغات البرمجة؛ وهي:


تخصيص الذاكرة: حيث تعتني (JavaScript) بهذا الأمر فهي تخصص الذاكرة التي سيحتاجها المستخدم للكائن الذي أنشأه.


استخدام الذاكرة: حيث أن استخدام الذاكرة هو شيء نقوم به بشكل صريح في الكود الخاص بنا، حيث أن القراءة والكتابة في الذاكرة ليست سوى القراءة أو الكتابة من أو إلى متغير.

تحرير الذاكرة: يتم التعامل مع هذه الخطوة أيضًا بواسطة محرك (JavaScript)، حيث أنه بمجرد تحرير الذاكرة المخصصة، يمكن استخدامها لغرض جديد.


كيفية تخزين محرك جافا سكريبت / ذاكرة stack و heap


تقوم محركات (JavaScript) بتخزين بياناتها في مكانين؛ ذاكرة (Stack) وذاكرة (Heap)، فيما يلي توضيح لكل منهما:





1. ذاكرة Stack


وهي نوع من بنية البيانات التي تستخدم طريقة (Last-in-First-out (LIFO)) لتخزين البيانات الثابتة، بسبب حجمها الثابت، والمعروف أثناء وقت الترجمة بواسطة المحرك فهي ذاكرة ثابتة، وتشتمل البيانات الثابتة في (JavaScript) على مراجع للكائنات والوظائف بالإضافة إلى القيم الأولية مثل: (strings, number, Boolean, null, undefined, symbol, BigInt).



2. ذاكرة Heap


تخصيص الذاكرة الديناميكي هي طريقة أخرى لتخزين البيانات في الذاكرة، وتستخدم هذه الذاكرة لتخزين الأشياء في الذاكرة، ولا تخصص جافا سكريبت لـ (Heap) مقدارًا ثابتًا من الذاكرة كما يفعل (Stack)، وبدلاً من ذلك، فإنها تخصص مساحة أكبر أثناء وقت التشغيل، أي الحجم المعروف في وقت التشغيل ولا يوجد حد لذاكرة الكائن.



ما المقصود بتسرب ذاكرة جافا سكريبت


تسرب الذاكرة، هو تخصيص للذاكرة يتعذر على محرك (JavaScript) استرداده، حيث أنه عند إضافة كائنات ومتغيرات إلى برنامجك، يقوم محرك (JavaScript) بتخصيص الذاكرة، وهو ذكي بدرجة كافية لتحرير الذاكرة عندما لا تكون الكائنات مطلوبة، وتؤدي الأخطاء المنطقية إلى تسرب الذاكرة مما يؤثر سلبًا على سرعة برنامجك، لنلق نظرة على أكثر تسريبات ذاكرة جافا سكريبت شيوعًا:



1. المتغيرات العالمية Global Variables


عندما يتم تخزين البيانات في متغيرات عالمية، فإنه يتسبب في حدوث تسرب للذاكرة، مثل استخدام (var) في التعليمات البرمجية الخاصة بك بدلاً من (let أو const)، كما يتم تخزين المتغيرات غير المعلنة في الكائن العام، لتجنب هذا الوضع استخدم (strict) لتمكين تطبيقات أكثر أمانًا وكذلك منع المتغيرات العامة غير المرغوب فيها أو يمكنك تعيين المتغير العام إلى فارغ (مثل window.name = null) بعد الاستخدام لمنع تسرب ذاكرة (JavaScript) لأن هذه المراجع مخزنة مباشرة في الجذر ولا يمكن جمعها.

2. حدث Forgotten timers


(SetTimeout و SetInterval) هما حدثان زمنيان متاحان في (JavaScript) وهما ميزات مهمة للغاية، حيث أن (SetTimeout) هي وظيفة غير متزامنة يتم تنفيذها بعد انتهاء الوقت المحدد عادةً بالمللي ثانية، بينما يسمح (SetInterval) بالتنفيذ المتكرر للرمز على فترات زمنية مختلفة “وقت محدد”، حيث أن غالبية تسربات الذاكرة ناتجة عن هذه الموقتات، ولحل هذه المشكلة، استخدم دائمًا (() clearInterval) عندما تعرف أن الوظيفة لن تكون مطلوبة، سيكون كذلك (clearInterval (differentInterval)) لإلغاء الفاصل الزمني بعد استخدامه.



;dtdm Y]hvm hg`h;vm td [hth s;vdfj





رد مع اقتباس
 

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
ما هو إطار العمل Ember.js في لغة البرمجة جافا سكريبت الحر تطوير المواقع والمنتديات والمدونات 18 09-Nov-2024 07:55 PM
دورة جافا كاملة -تعلم java بالعربي- حلقة 28 : شرح final variable عشق تطوير المواقع والمنتديات والمدونات 13 07-Mar-2024 05:07 PM
كائنات البحث والتجريد في لغة البرمجة جافا سكريبت ..! غَيْم..! تطوير المواقع والمنتديات والمدونات 9 19-Dec-2023 05:47 PM
كيفية إدارة منتديات الإنترنت وصيانتها عشق تطوير المواقع والمنتديات والمدونات 23 05-Dec-2023 07:25 PM
من طرق تقويه الذاكرة عطر المساء صوتيات أحاسيس الأسلاميه 12 06-Sep-2023 06:47 PM


الساعة الآن 08:11 PM


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. TranZ By Almuhajir
new notificatio by 9adq_ala7sas
HêĽм √ 3.2 OPS BY: ! ωαнαм ! © 2010
جميع ما يطرح في منتديات أحاسيس الليل لا يعبر عن رأي الموقع وإنما يعبر عن رأي الكاتب
وإننــے أبرأ نفســے أنا صاحبة الموقع أمامـ الله سبحانه وتعالــے من أــے تعارف بين الشاب والفتاة من خلال أحاسيس الليل
vEhdaa 1.1 by rKo ©2009