عابر في Java: ماذا ولماذا وكيف يعمل؟



Transient in Java هي كلمة أساسية تستخدم في التسلسل. يتم استخدامه عندما لا تريد حفظ قيمة متغير في ملف

يتم استخدام Transient في Java لتمييز متغير العضو بحيث لا يتم إجراء تسلسل له عند استمراره في تدفقات البايت. تلعب هذه الكلمة الأساسية دورًا مهمًا في تلبية قيود الأمان في . يتجاهل القيمة الأصلية لـ متغير ويحفظ القيمة الافتراضية لهذا المتغير .

فيما يلي المواضيع التي سيتم مناقشتها في هذه المقالة:





هيا بنا نبدأ!

ما هي الكلمة الأساسية العابرة في جافا؟

عابر هو في الأساس معدل متغيرات يستخدم للتسلسل. الآن ، ما هو التسلسل؟ التسلسل في جافا هي آلية تُستخدم في تحويل حالة الكائن إلى تدفق بايت. في وقت التسلسل ، إذا كنت لا تريد حفظ قيمة متغير معين في ملف ، فاستخدم الكلمة الأساسية المؤقتة.



بناء الجملة :

عابر خاص

أو

عابر خاص

في حالة تحديد أي عضو بيانات على أنه عابر ، فلن يتم إجراء تسلسل له. هذا لأن كل حقل تم تمييزه كـ عابر لن يتم إجراء تسلسل. يمكنك استخدام هذه الكلمة الأساسية المؤقتة للإشارة إلى جهاز Java الظاهري (JVM) أن المتغير العابر ليس جزءًا من الحالة المستمرة لكائن.



دعنا نكتب مثالًا أساسيًا جدًا لفهمه حول Transient في Java.

فئة Demo تنفذ Serializable {// جعل الإنسان عابرًا خاصًا عابرًا سلسلة بشرية عابرة int عمر // تسلسل الحقول الأخرى الخاصة اسم السلسلة والعنوان التاريخ dob // بقية الرمز}

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

لماذا يستخدم المعدل العابر؟

يتم استخدام Transient في Java للإشارة إلى أن الحقل يجب ألا يكون جزءًا من عملية التسلسل.

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

فيبوناتشي التكراري c ++

قد يكون هذا السؤال يدور في رأسك. متى تستخدم هذا العابر في جافا؟

الجواب على هذا سيكون:

  1. يمكنك استخدام هذه الكلمة الأساسية العابرة عندما يكون لديك حقول مشتقة / محسوبة من حقول أخرى داخل مثيل فئة.
  2. استخدمه مع الحقول التي لم يتم تمييزها على أنها 'قابلة للتسلسل' داخل JDK أو رمز التطبيق. وذلك لأن الفئات التي لا تنفذ واجهة Serializable تتم الإشارة إليها ضمن أي فئة قابلة للتسلسل ولا يمكن إجراء تسلسل لها وستطرح استثناء 'java.io.NotSerializableException'. لاحظ أنه يجب وضع علامة 'عابرة' على هذه المراجع غير القابلة للتسلسل تسلسل الفئة الرئيسية.

كيفية استخدام Transient with Final keyword؟

يمكن استخدام Transient in Java مع امتداد الملف الكلمة الرئيسية النهائية لأنه يتصرف بشكل مختلف في المواقف المختلفة وهو ما لا يحدث عمومًا مع الآخرين الكلمات الرئيسية في جافا .

الق نظرة على هذا المثال.

خاص String firstName خاص String LastName // final field 1 public final transient string pass = 'password' // الحقل الأخير 2 public final transient lock lock = Lock.getLock ('demo')

الآن عند تشغيل التسلسل (كتابة / قراءة) مرة أخرى ، ستحصل على هذا الناتج:

كيني
قوي
كلمه السر
لا شيء

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

الفرق بين عابر ومتطاير

هذا سؤال مهم طُرح خلال أ . ما هو الفرق بين الكلمات الرئيسية المؤقتة والمتطايرة في جافا؟

متطايره و Transient هما كلمتان رئيسيتان مختلفتان تمامًا يتم استخدامهما في . يتم استخدام كلمة أساسية عابرة أثناء إنشاء تسلسل لكائن Java. المتقلبة مرتبطة برؤية المتغيرات المعدلة بواسطة خيوط متعددة.

التشابه الوحيد بين هذه الكلمات الرئيسية هو أنها أقل استخدامًا أو كلمات رئيسية غير شائعة وليست شائعة مثل عامة أو ثابتة أو نهائية.

يقودنا هذا إلى نهاية هذه المقالة حيث تعلمنا عن Transient في Java. آمل أن تكون واضحًا بشأن كل ما تمت مشاركته معك في هذا البرنامج التعليمي.

إذا وجدت هذه المقالة حول 'عابر في Java' ذات صلة ، فراجع ملف شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرة في جميع أنحاء العالم.

نحن هنا لمساعدتك في كل خطوة في رحلتك ، لكي تصبح بجانب أسئلة المقابلة في جافا هذه ، توصلنا إلى منهج مصمم للطلاب والمهنيين الذين يريدون أن يصبحوا مطور جافا. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

إذا صادفت أي أسئلة ، فلا تتردد في طرح جميع أسئلتك في قسم التعليقات في 'Transient in Java' وسيسعد فريقنا بالإجابة.