سؤال

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

هل هناك طريقة لتحقيق ذلك؟

هل كانت مفيدة؟

المحلول

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

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

أوصي بتوفير نوع من السنانير في منطق بدء التشغيل الخاص بك لتطبيقات العميل للاستدعاء ، وبهذه الطريقة يمكنهم السيطرة بدقة على هذا النوع من الأشياء بدلاً من تشغيل منطق بدء التشغيل في وقت غير متوقع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top