สารบัญ:

เหตุใดเราจึงเพิ่ม serialVersionUID
เหตุใดเราจึงเพิ่ม serialVersionUID

วีดีโอ: เหตุใดเราจึงเพิ่ม serialVersionUID

วีดีโอ: เหตุใดเราจึงเพิ่ม serialVersionUID
วีดีโอ: @ExceptionHandler REST Error Handling With Spring Boot : 2018 2024, พฤศจิกายน
Anonim

ทำไมล่ะ เราใช้ SerialVersionUID : SerialVersionUID คือ ใช้เพื่อให้แน่ใจว่าในระหว่างการดีซีเรียลไลซ์เซชั่นคลาสเดียวกัน (ที่ใช้ระหว่างกระบวนการทำให้เป็นอนุกรม) เป็น โหลดแล้ว การทำให้เป็นอันดับ: ในช่วงเวลาของการทำให้เป็นอันดับ กับ JVM. ด้านผู้ส่งอ็อบเจ็กต์ทุกด้าน จะ บันทึกตัวระบุที่ไม่ซ้ำ

นอกจากนี้ เหตุใดเราจึงใช้ serialVersionUID

พูดง่ายๆ คือ serialVersionUID เป็นตัวระบุเฉพาะสำหรับคลาส Serializable นี่คือ ใช้แล้ว ในระหว่างการดีซีเรียลไลซ์เซชันของอ็อบเจ็กต์ เพื่อให้แน่ใจว่าคลาสที่โหลดนั้นเข้ากันได้กับอ็อบเจ็กต์ที่เป็นอนุกรม หากไม่พบคลาสที่ตรงกัน InvalidClassException จะถูกส่งออกไป

ด้านบนนี้ จำเป็นต้องมี serialVersionUID หรือไม่ ค่าเริ่มต้น serialVersionUID การคำนวณมีความไวสูงต่อรายละเอียดคลาสที่อาจแตกต่างกันไปขึ้นอยู่กับการใช้งานคอมไพเลอร์และ สามารถ จึงส่งผลให้เกิด InvalidClassException ที่ไม่คาดคิดในระหว่างการดีซีเรียลไลเซชัน จึงต้องประกาศ serialVersionUID เพราะมันทำให้เราควบคุมได้มากขึ้น

นอกจากนี้ serialVersionUID 1l ยังมีประโยชน์อะไรอีก?

NS serialVersionUID เป็นตัวระบุเวอร์ชันสากลสำหรับคลาส Serializable ดีซีเรียลไลเซชัน ใช้ หมายเลขนี้เพื่อให้แน่ใจว่าคลาสที่โหลดนั้นสอดคล้องกับอ็อบเจ็กต์ที่เป็นอนุกรม หากไม่พบการจับคู่ InvalidClassException จะถูกส่งออกไป

serialVersionUID หมายถึงอะไร

Java: วิธีสร้าง serialVersionUID

  1. คำสั่งซีเรียลเวอร์ JDK มีคำสั่งในตัวที่เรียกว่า "serialver" เพื่อสร้าง serialVersionUID โดยอัตโนมัติ
  2. ใช้ Eclispe IDE หากคุณกำลังใช้ Eclipse ให้เลื่อนเมาส์ไปที่คลาสการทำให้เป็นอันดับ
  3. อะไรก็ได้ที่คุณต้องการ เพียงระบุ serialVersionUID ของคุณเอง ให้ตัวเลขและเติม "L" ต่อท้าย

แนะนำ: