هناك "أفضل الممارسات" للوصول إلى عملية أخرى في نظام التشغيل من خلال جافا؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

ولقد تم قراءة Skype4Java (جافا المعهد لسكايب)، ولاحظت أنها تستخدم JNI للوصول إلى العميل سكايب.

وحدسي يهمني ان نفترض ان هناك بالفعل المكتبة القياسية في جافا يحتوي على تنفيذ JNI حساسة للOS للوصول إلى العمليات الأخرى. أقوم بإعداد للبحث عن واحد، ولكن لا يمكن العثور عليه.

هل هناك مثل هذه المكتبة؟ إذا لم يكن كذلك، هناك أفضل الممارسات للوصول إلى عملية أخرى في نظام التشغيل، وليس بالضرورة عميل سكايب؟

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

المحلول

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

وتعليق غارث حول استخدام الذاكرة المعينة الملفات المثير للاهتمام - لقد استعملت MMFs وملفات افتراضية لIPC بين التطبيقات C مرات عديدة، ولكن لم يخطر لي أن تنفيذ MMF جاوة قد تكون متوافقة مع نظام الملفات الافتراضي OS الأصلي. وعادة ما يتطلب هذا النوع من الملفات الافتراضية الإعداد غير تافهة، ولذا فإنني سأشعر بالدهشة إذا كان العمل ...

وقال جميع، إلا إذا كنت ضخ كميات هائلة من البيانات بين التطبيقات، وذلك باستخدام مآخذ على الأرجح الطريقة الأكثر عالمية وفعالة للقيام بذلك. تأكد من أنك تمثل endianness بين OS المضيف وجافا VM: -)

نصائح أخرى

ومن جاوة 1.4 فصاعدا يمكنك استخدام الذاكرة المعينة الملفات لتبادل المعلومات التعسفية مع عملية أخرى. انظر java.nio.MappedByteBuffer لمزيد من التفاصيل.

وهذا ليس تماما ما كنت تبحث عنه، ولكن من المحتمل أن تساعد قدرا كبيرا مع ذلك: و جافا مشروع Access الأصلية على java.net.

لا تنس مآخذ ...

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