สารบัญ:
วีดีโอ: เหตุใดเราจึงเพิ่ม serialVersionUID
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
ทำไมล่ะ เราใช้ SerialVersionUID : SerialVersionUID คือ ใช้เพื่อให้แน่ใจว่าในระหว่างการดีซีเรียลไลซ์เซชั่นคลาสเดียวกัน (ที่ใช้ระหว่างกระบวนการทำให้เป็นอนุกรม) เป็น โหลดแล้ว การทำให้เป็นอันดับ: ในช่วงเวลาของการทำให้เป็นอันดับ กับ JVM. ด้านผู้ส่งอ็อบเจ็กต์ทุกด้าน จะ บันทึกตัวระบุที่ไม่ซ้ำ
นอกจากนี้ เหตุใดเราจึงใช้ serialVersionUID
พูดง่ายๆ คือ serialVersionUID เป็นตัวระบุเฉพาะสำหรับคลาส Serializable นี่คือ ใช้แล้ว ในระหว่างการดีซีเรียลไลซ์เซชันของอ็อบเจ็กต์ เพื่อให้แน่ใจว่าคลาสที่โหลดนั้นเข้ากันได้กับอ็อบเจ็กต์ที่เป็นอนุกรม หากไม่พบคลาสที่ตรงกัน InvalidClassException จะถูกส่งออกไป
ด้านบนนี้ จำเป็นต้องมี serialVersionUID หรือไม่ ค่าเริ่มต้น serialVersionUID การคำนวณมีความไวสูงต่อรายละเอียดคลาสที่อาจแตกต่างกันไปขึ้นอยู่กับการใช้งานคอมไพเลอร์และ สามารถ จึงส่งผลให้เกิด InvalidClassException ที่ไม่คาดคิดในระหว่างการดีซีเรียลไลเซชัน จึงต้องประกาศ serialVersionUID เพราะมันทำให้เราควบคุมได้มากขึ้น
นอกจากนี้ serialVersionUID 1l ยังมีประโยชน์อะไรอีก?
NS serialVersionUID เป็นตัวระบุเวอร์ชันสากลสำหรับคลาส Serializable ดีซีเรียลไลเซชัน ใช้ หมายเลขนี้เพื่อให้แน่ใจว่าคลาสที่โหลดนั้นสอดคล้องกับอ็อบเจ็กต์ที่เป็นอนุกรม หากไม่พบการจับคู่ InvalidClassException จะถูกส่งออกไป
serialVersionUID หมายถึงอะไร
Java: วิธีสร้าง serialVersionUID
- คำสั่งซีเรียลเวอร์ JDK มีคำสั่งในตัวที่เรียกว่า "serialver" เพื่อสร้าง serialVersionUID โดยอัตโนมัติ
- ใช้ Eclispe IDE หากคุณกำลังใช้ Eclipse ให้เลื่อนเมาส์ไปที่คลาสการทำให้เป็นอันดับ
- อะไรก็ได้ที่คุณต้องการ เพียงระบุ serialVersionUID ของคุณเอง ให้ตัวเลขและเติม "L" ต่อท้าย
แนะนำ:
สองคลาสสามารถมี serialVersionUID เดียวกันได้หรือไม่
ใช่ เป็นไปได้ว่าสองคลาสที่แตกต่างกันสามารถมีค่า serialVersionUID เดียวกันได้ แต่ชอบที่จะใช้เฉพาะสำหรับแต่ละชั้นเรียน ใช้ตัวเลขที่ยาวกว่า 8 ถึง 10 หลักแทนที่จะเป็น 1 เป็นค่า