التكنولوجيا الجافة: مقال للحصول على آلية لجمع القمامة في أسئلة المقابلة جافا

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

ج جمع القمامة هو مصطنع، وعبء العمل الثقيل، ولكن التحكم عالية. هو الآلي جافا، ولكن التحكم والفقراء، وأحيانا يحدث حتى تجاوز الذاكرة، والكائنات الذاكرة تجاوز في الذاكرة التي تم تخصيصها JVM المفرطة، يتجاوز الحد الأقصى لحجم الذاكرة المخصصة.

`` `جمع القمامة المذكورة جافا لا بد أن نذكر أسلوب واحد:

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

1، JVM كيفية تحديد الكائنات يجب استعادة؟

2، وسوف يكون JVM عمل جمع القمامة في أي وقت؟

3، JVM في النهاية هو كيف مسح الكائن القمامة؟

4، JVM كيفية تحديد الكائنات يجب استعادة؟

اثنين خوارزمية الكلاسيكية ما إذا كانت إعادة تدوير قطع: عد مرجع، وخوارزمية تحليل وسائل الأتصال.

حساب مرجع

بسيط، هو تحديد الرقم المرجعي للكائن. تطبيقات: تم إضافة الكائنات إلى عداد مرجع، كلما إشارة هي فترة مرجعية له، يتم زيادة قيمة العداد من جانب واحد، وعندما فشل إشارة، لا يتم تنفيذ هذا الكائن، وانخفض مضادة له بنسبة 1، إذا عداد كائن واحد 0، ثم لا أحد يمثل هذا مرجع كائن ضده، كان من المفترض أن يكون الفشل من الأشياء القمامة سيتم استردادها القيادة العامة. ولكن هذا خوارزمية بسيطة لا يستخدم JVM الحالي، والسبب هو انه لا يحل مشكلة المراجع الدائرية بين الكائنات. لنفترض أن الإشارة بعضها البعض بين كائنين ألف وباء، وهذا هو خاصية من وجوه (أ) هو B، و B هو سمة A، في هذه الحالة بسبب بهم عبر المشار إليها، بحيث لا يتم الاعتراف بأن جمع القمامة .

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

بعد تحديد اللتان الأشياء يمكن إعادة تدويرها، سيتم إعادة تدويرها JVM في وقت ما

1 سيتم استردادها تلقائيا بعد يتم تخزين 2 في كومة الذاكرة في وقت وحدة المعالجة المركزية الخمول الكامل بعد مبادرة من 3 إلى استدعاء System.gc () محاولات لاستعادة

ثلاثة كيفية إعادة تدوير

ثلاثة كيفية إعادة تدوير يعني كيفية إعادة تدوير خوارزمية جمع القمامة. هناك أربع خوارزميات: علامة - خوارزمية الاجتياح، خوارزمية النسخ المتماثل علامة - خوارزمية الفرز، الأجيال جمع خوارزمية 1 علامة - خوارزمية الاجتياح. هذا هو الأكثر النوع الأساسي من خوارزمية تنقسم إلى خطوتين، الخطوة الأولى هي علامة، علامة أن كافة الكائنات تحتاج إلى استردادها بعد بمناسبة الانتهاء من الانتعاش موحد من التي يتم وضع علامة الكائنات. وميزة هذه الخوارزمية بسيطة، والعيب هو الكفاءة، واحدة من أكبر عيب هو مسألة الفضاء، سوف تولد الكثير من تجزئة الذاكرة منفصلة بعد مسح العلامات عندما احتياجات البرنامج لتخصيص كائن كبير خلال تشغيل اللاحقة لا يمكن العثور الذاكرة القريبة كافية وقضية النفايات مساحة الذاكرة. تنفيذ الشكل:

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

سوف نسخ خوارزمية جمع أداء المزيد من عمليات النسخ في أعلى بقاء الهدف، سوف يكون كفاءة منخفضة. حتى أكثر أهمية يضيع نصف مساحة. مارك - خوارزمية الفرز: فرز علامات خوارزمية والخوارزمية علامة الاجتياح هي مشابهة جدا، ولكن الفرق الأبرز هو: علامة واضحة خوارزمية كائن البقاء على قيد الحياة وليس فقط معالجة، وتبقى الكائنات الحية من دون أي علاج، مما تسبب في تفتيت الذاكرة، والعلامات لتنظيم خوارزمية ليس فقط للا يتم مسح بقاء الكائن لمعالجة، ولكن أيضا على الكائنات الحية الباقية إلى نوع، وإعادة ترتيب، لذلك لا ذاكرة شظية. الانتهاء من خوارزمية المسمى مخطط تأثير على النحو التالي:

الأجيال خوارزمية جمع: خوارزمية جمع الأجيال هي خوارزمية أكثر ذكاء، هي الآن أكبر JVM باستخدام خوارزمية، وهو في الواقع ليست خوارزمية جديدة، لكنه سوف تختار أكثر من ثلاثة خوارزميات في سيناريوهات محددة تلقائيا إعادة تدوير القمامة الهدف. وحتى الآن فإن التركيز هو جمع الأجيال مثلا خوارزمية تحديده تلقائيا وفقا لسيناريوهات محددة. هذا مشهد معين في النهاية هو ما من مكان الحادث. في الواقع، يشير المشهد إلى المنطقة التي JVM، JVM وتنقسم الذاكرة إلى ثلاث مناطق قبل 1.7: الجيل الجديد، الزمن القديم، وأجيال دائمة.

جنبا إلى جنب مع خوارزمية جمع الأجيال خلص بعد فهم المشهد: 1، في الجيل الجديد، وجدت كل جمع القمامة عندما يكون هناك عدد كبير من الكائنات الأموات، سوى عدد قليل البقاء على قيد الحياة، ثم نسخ اختيار خوارزمية. تحتاج فقط لدفع مبلغ صغير من تكاليف كائنات النسخ المتماثل الحية لإتمام عملية جمع. 2، وعهد القديم بسبب ارتفاع الكائن معدل البقاء على قيد الحياة، يتم تخصيص أي مساحة إضافية له ضمانات، فمن الضروري أن علامة - تشطيبات - واضحة أو علامة. خلاصة القول:

ملاحظة: عندما jdk8 جافا التخلي بشكل دائم أجيال، ولكن هذا لا يعني أننا فوق استنتاجات غير صالحة، لأن جافا يوفر الجيل الدائم للتقنية مماثلة تسمى "الفوقية الفضاء". السبب التخلي عن الجيل دائم: كما في الجيل دائم من الذاكرة في كثير من الأحيان ما يكفي أو تسرب الذاكرة، وكسر java.lang.OutOfMemoryErroy غير طبيعي. يوان وطبيعة دائمة من الفضاء إلى مثل. لكن الفارق الأكبر بين اليوان والفضاء الدائم بالنيابة عن ذلك: يوان ليس الفضاء في جهاز ظاهري، ولكن استخدام الذاكرة المحلية. لا تقتصر على JVM يمكن استخدام ذاكرة النظام. يعتمد نظريا 32/64 بت نظام حجم الذاكرة الظاهرية

"نحن نعتقد أن كل شخص يمكن أن يصبح جافا التنمية الله كبيرة، الآن، للبحث عن أحد كبار، يأخذك في لم يعد الخلط بين التعلم الطريق. هنا هو مستشفى الفهم تطوير جافا، المبتدئين إلى التحول إلى صناعة الانترنت تجمع مكان."

وقال "كنت لسنوات عديدة تعمل في مجال تطوير جافا المبرمجين القديم، استقال به حاليا جافا الدورات المخصصة الخاصة، وقضيت شهر وضعت في وقت سابق من هذا العام معا دراسة 2019 من معظم السلع جافا التعلم الجافة مناسبة، من أكثر أساس javase الأطر المختلفة يجب أن توحيد الربيع، نظرا إلى كل جافا الشريك الأصغر، قد ترغب في الحصول انتباهي والعناوين في عدد خلفية خاصة إلكتروني I: جافا، يمكنك الحصول مجانا.

الانشوده تنفق ما يكفي كيف نفعل؟ هذه التقنيات أربعة رفع كمية حرجة!

اي فون X القادمة! لكنك تعلم أن إيطاليا احتلت المراكز الثلاثة مبيعات ما الهاتف؟

تلك لطيفة وأسود APP، وتستخدم لتفريغ الدب

كيف غير قابلة للاختراق تصميم لتخريب موجة من الهاتف المحمول المستقبل لاستخدام APEX 2019

اغتصبت روما البالغ من العمر 20 عاما امرأة فنلندية ألقي القبض على شاب يبلغ من العمر 22 عاما في بنغلاديش

وتتحقق رغبة في نهاية المطاف وظائف في الصين تصميم الهواتف النقالة في الواقع

كمون Gongfu أسنان الخد العسل عبق

الخريجين الحصول على 12K الراتب شعر بالإهانة والرواتب مبرمج في النهاية كيف عالية؟

مقال للسماح لك أن تعرف عن أربعة ترابط التجمع، وتعلم جافا لم يعد الخلط

تحكي قصة جيدة العلامة التجارية من ثماني خطوات

باب وقفة واحدة للتسوق في جميع أنحاء العالم، جولدن بيتش البيرة 3 أيام الترحيب 60000

[خاص] وون حول العلوم والتكنولوجيا الرصاص المستثمر ما يقرب من ألف مليون، كيف بدأ الاقتصاد باربي فظيع فظيع الشبكة الحمراء؟