האם לשתי מחלקות יכול להיות אותו SerialVersionUID?
האם לשתי מחלקות יכול להיות אותו SerialVersionUID?

וִידֵאוֹ: האם לשתי מחלקות יכול להיות אותו SerialVersionUID?

וִידֵאוֹ: האם לשתי מחלקות יכול להיות אותו SerialVersionUID?
וִידֵאוֹ: מאור אשכנזי - כבוד / Maor Ashkenazi - Respect 2024, אַפּרִיל
Anonim

כן, זה אפשרי שתיים שונה כיתות יכולות להיות ה אותו SerialVersionUID ערך. אבל העדיפו להשתמש באחד ייחודי עבור כל אחד מעמד . השתמש גם ב-8 עד 10 ספרות ארוך יותר במקום רק 1 כערך.

כתוצאה מכך, מהו SerialVersionUID?

במילים פשוטות, ה serialVersionUID הוא מזהה ייחודי עבור מחלקות הניתנות לסדרה. זה משמש במהלך דה-סריאליזציה של אובייקט, כדי להבטיח שמחלקה נטענת תואמת לאובייקט המסודר.

באופן דומה, מה השימוש ב-serialVersionUID 1l? ה serialVersionUID הוא מזהה גרסה אוניברסלי עבור מחלקה הניתנת להמשכה. דה-סריאליזציה שימושים מספר זה כדי להבטיח שמחלקה נטענת מתאימה בדיוק לאובייקט מסודר. אם לא נמצא התאמה, אזי נזרק InvalidClassException.

באופן דומה, נשאל, האם יש צורך ב-SerialVersionUID?

ברירת המחדל serialVersionUID החישוב רגיש מאוד לפרטי מחלקה שעשויים להשתנות בהתאם למימושי המהדר, ו פחית ובכך לגרום ל-InvalidClassException s בלתי צפויים במהלך דה-סריאליזציה. לכן, עליך להצהיר serialVersionUID כי זה נותן לנו יותר שליטה.

מה התפקיד של serialVersionUID בתהליך הסידרה?

בְּמַהֲלָך סדרה , זמן ריצה של java משייך מספר גרסה לכל אחד מהם ניתן לסידרה מעמד. המספר הזה התקשר serialVersionUID , המשמש במהלך דה-סריאליזציה כדי לוודא שהשולח והמקבל של א בסידרה לאובייקט טענו מחלקות עבור אותו אובייקט התואמות לגבי סדרה.

מוּמלָץ: