يمكن / يجب أن أستخدم الضعيف في هيكل كائن مجمع مع DB4O؟

StackOverflow https://stackoverflow.com/questions/1913155

  •  19-09-2019
  •  | 
  •  

سؤال

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

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

وينطبق الشيء نفسه على النقط النص (الذي يجب أن يكون حوالي 1-10 كيلو بايت). هل من الممكن الحصول على سلسلة دون الحاجة إلى القلق بشأن طبقة DB ودون الحاجة إلى الاستعلام عن النقصة باستخدام معرف اصطناعي داخل Getter وبدون استخدام مرجع صعب يحافظ على النص بأكمله في الذاكرة طوال الوقت؟

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

المحلول

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

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

أيضا - يمكنك نشر أسئلتك إلى منتديات DB4O للحصول على مساعدة من مجتمع DB4O.

غوران

نصائح أخرى

لم أستخدم DB40، أو أي منتج ODM / OODB مؤخرا، ومع ذلك سيبضيني أن هذا النوع من ميزة إدارة الذاكرة وإدارة الرسوم البيانية يجب أن يكون جزءا من الإطار نفسه بدلا من شيء تبنيه فوقه. إذا لم تقدم DB40 Versant هذا الأمر، فقد يستحق أنك تبحث في منتج آخر بدلا من ذلك الذي يقدمه. لذلك، أكن أدرك الإجابة الخاصة بك في البحث، ولكن الاستفادة من الإطار سيكون أول منفذ الاتصال الأول.

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