سؤال

هل الملفات التي تم تصنيفها للذاكرة في Java مثل ملفات الذاكرة التي تم تصنيفها لنظام التشغيل Windows؟ أم أنها مضاهاة فقط على أساس الذاكرة والملف العمليات المشتركة في جافا؟

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

المحلول

يستخدم دعم نظام التشغيل للملفات المعينة للذاكرة.

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

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

إذا تم محاكاة كل شيء للتو ، فلن تكون هناك حاجة لمثل هذا السلوك غير المحدد.

نصائح أخرى

القراءة بين سطور سؤالك وتعليقك ، ما تحاول القيام به هو استخدام ملف معين للذاكرة لمشاركة الذاكرة/الكائنات بين تطبيق Java و C ++.

نصيحتي هي لا تحاول القيام بذلك.

هناك مشكلات صعبة يجب معالجتها لجعل هذا موثوقًا:

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

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

أخيرًا ، حتى لو نجحت في معالجة جميع هذه المشكلات ، فمن المحتمل أن يكون الحل الخاص بك هشًا لأنه يعتمد على سلوك غير محدد لتطبيقات OS و C ++ و Java قد يتغير ذلك إذا قمت بتغيير إصدارات أي مما سبق.

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