কম্পিউটার টিউটোরিয়াল

জাভাতে SerialVersionUID কিওয়ার্ডের গুরুত্ব


SerialVersionUID

  • SerialVersionUID অবশ্যই জাভাতে private static final long ভেরিয়েবল হিসেবে ঘোষণা করতে হবে। এই নম্বরটি কম্পাইলার দ্বারা ক্লাসের স্টেট এবং ক্লাস অ্যাট্রিবিউটের উপর ভিত্তি করে গণনা করা হয়। এটি সেই নম্বর যা JVM-কে একটি ফাইল থেকে অবজেক্টের স্টেট পড়ার সময় অবজেক্টের স্টেট শনাক্ত করতে সাহায্য করে।
  • SerialVersionUID ডিসিরিয়ালাইজেশনের সময় ব্যবহার করা হয় যাতে সিরিয়ালাইজড অবজেক্টের প্রেরক এবং প্রাপক উভয়েই সেই অবজেক্টের জন্য কম্প্যাটিবল ক্লাস লোড করা হয়েছে কিনা সিরিয়ালাইজেশনের পরিবর্তে যাচাই করা যায়। যদি ডিসিরিয়ালাইজড অবজেক্ট সিরিয়ালাইজেশন থেকে আলাদা হয়, তবে এটি InvalidClassException নিক্ষেপ করতে পারে।
  • যদি serialVersionUID নির্দিষ্ট না করা হয়, তবে রানটাইম ক্লাসের বিভিন্ন দিকের উপর ভিত্তি করে সেই ক্লাসের জন্য একটি ডিফল্ট serialVersionUID ভ্যালু গণনা করবে।

উদাহরণ

import java.io.*; 

class Employee implements Serializable { 
    private static final long serialVersionUID = 5462223600l; 
    int empId; 
    String name; 
    String location; 
    
    Employee(int empId, String name, String location) { 
        this.empId = empId; 
        this.name = name; 
        this.location = location; 
    } 
    
    void empData() { 
        System.out.println("Employee Id is: " + empId); 
        System.out.println("Employee Name is: " + name); 
        System.out.println("Employee Location is: " + location); 
    } 
} 

public class EmployeeTest { 
    public static void main(String[] args) throws Exception { 
        Employee emp = new Employee(115, "Raja", "Hyderabad"); 
        emp.empData();   
        FileOutputStream fos = new FileOutputStream("E:\\Employee.txt"); 
        ObjectOutputStream oos = new ObjectOutputStream(fos); 
        oos.writeObject(emp); 
        System.out.println("Object Serialized"); 
    } 
}

আউটপুট

Employee Id is: 115 Employee Name is: Raja Employee Location is: Hyderabad Object Serialized

  1. জাভা ৯-এ destroyForcibly() মেথডের গুরুত্ব

  2. জাভাতে final কীওয়ার্ড

  3. জাভাতে super কীওয়ার্ড

  4. পাইথনে এমপ্লয়ি ইম্পরটেন্স (Employee Importance)