Serialisasi adalah proses mengubah informasi status suatu objek menjadi bentuk yang dapat disimpan atau ditransmisikan. Secara umum, suatu objek disimpan dalam media penyimpanan, seperti arsip atau buffer kutipan. Selama transmisi jaringan, dapat dalam format seperti byte atau XML. Byte atau format pengkodean XML dapat mengembalikan objek yang sama sekali sama. Proses yang berlawanan ini juga disebut deserialisasi .
Serialisasi dan deserialisasi objek Java <br /> di java, kita dapat membuat objek dalam banyak hal, dan kita dapat menggunakan kembali objek selama objek tidak didaur ulang. Namun, objek Java yang kita buat semuanya ada dalam memori tumpukan JVM. Objek -objek ini hanya bisa ada ketika JVM dalam keadaan berjalan. Setelah JVM berhenti berjalan, keadaan objek ini hilang.
Namun, dalam skenario aplikasi nyata, kita perlu mempertahankan objek -objek ini dan dapat membaca ulang objek saat dibutuhkan. Serialisasi objek Java dapat membantu kita menerapkan fungsi ini.
Mekanisme serialisasi objek adalah metode kegigihan objek bawaan dalam bahasa Java. Melalui serialisasi objek, keadaan objek dapat disimpan sebagai array byte, dan array byte ini dapat dikonversi menjadi objek melalui deserialisasi bila perlu. Serialisasi objek dapat dengan mudah dikonversi antara objek aktif dan array byte (aliran) di JVM.
Di Java, serialisasi dan deserialisasi objek banyak digunakan dalam RMI (panggilan metode jarak jauh) dan transmisi jaringan.
Antarmuka terkait dan kelas Java menyediakan API yang nyaman untuk mendukungnya untuk memfasilitasi pengembang untuk membuat serialisasi dan deserialize objek Java. Ini termasuk antarmuka dan kelas berikut:
Kelas memungkinkan fungsi serialisasi dengan mengimplementasikan antarmuka java.io.serializable. Kelas yang tidak mengimplementasikan antarmuka ini tidak akan dapat membuat serialisasi atau deserialisasi negara bagian mereka. Semua subtipe dari kelas serial itu sendiri dapat diserializable. Antarmuka serialisasi tidak memiliki metode atau bidang dan hanya digunakan untuk mengidentifikasi semantik yang dapat serial. (Antarmuka ini tidak memiliki metode dan bidang, jadi mengapa hanya objek kelas yang mengimplementasikan antarmuka di -serial?)
Saat mencoba membuat serial suatu objek, jika suatu objek ditemui, yang tidak mendukung antarmuka yang dapat diserialisasi. Dalam hal ini, notserializable exception dilemparkan.
Jika kelas yang akan diserialisasi memiliki kelas induk, dan jika Anda ingin bertahan variabel yang ditentukan dalam kelas induk pada saat yang sama, kelas induk juga harus mengintegrasikan antarmuka java.io.serializable.
Berikut adalah kelas yang mengimplementasikan antarmuka java.io.serializable
Paket com.hollischaung.serialization.serializableDemos; impor java.io.serializable;/*** Dibuat oleh Hollis pada 16/2/17.*menerapkan antarmuka serial yang dapat diisionisasi () {name name {public name; name;} public int getage () {return use;} public void setage (int age) {this.age = usia;}@overridepublic string toString () {return "user {" + "name = '" + name +'/'' + ", usia =" + usia + '}; Serialisasi dan deserialisasi melalui kode berikut
Paket com.hollischaung.serialization.serializableDemos; impor org.apache.commons.io.fileutils; impor org.apache.commons.io.ioutils; impor java.io. interface if it wants to be serialized*/public class SerializableDemo1 {public static void main(String[] args) {//Initializes The ObjectUser1 user = new User1();user.setName("hollis");user.setAge(23);System.out.println(user);//Write Obj to FileObjectOutputStream oos = null;try {oos = new ObjectOutputStream (FileOutputStream baru ("Tempfile")); oos.writeObject (user);} catch (ioException e) {e.printStackTrace ();} akhirnya {ioutils.closequietly (oos);} // Baca obj dari file file {ioutil. ObjectInputStream (FileInputStream baru (File)); user1 newUser = (user1) ois.readObject (); System.out.println (newUser);} catch (ioException e) {e.printStackRace ();} catch (classnotfoundexception e) {e.printStack ();} classNotFoundException e) {e.printStack ();} (classnotfoundException e) {e.printStack (); {Ioutils.closequietly (ois); coba {fileutils.forcedelete (file);} catch (ioException e) {e.printstacktrace ();}}}}} // output: // user {name = 'hollis', usia = 23} // user {name = 'hollis', hollis ', usia = 23} // user {name =' hollis 'Di atas adalah semua tentang artikel ini. Saya harap akan sangat membantu bagi semua orang untuk mempelajari serialisasi objek dan deserialisasi di Java.