public class Contact implements Serializable {
private String name;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
- Kapan saya harus mengimplementasikan
Serializable
antarmuka? - Mengapa kita melakukan itu?
- Apakah itu memberikan keuntungan atau keamanan?
java
serialization
theJava
sumber
sumber
Jawaban:
Dari Apa ini "serialisasi" semua tentang? :
Jadi, terapkan
Serializable
antarmuka saat Anda perlu menyimpan salinan objek, kirim ke proses lain yang berjalan pada sistem yang sama atau melalui jaringan.Karena Anda ingin menyimpan atau mengirim objek.
Itu membuat menyimpan dan mengirim objek mudah. Itu tidak ada hubungannya dengan keamanan.
sumber
Menerapkan
Serializable
antarmuka ketika Anda ingin dapat mengubah instance kelas menjadi serangkaian byte atau ketika Anda berpikir bahwaSerializable
objek mungkin referensi instance kelas Anda.Serializable
kelas berguna ketika Anda ingin tetap contoh atau mengirimnya melalui kawat.Contoh
Serializable
kelas dapat dengan mudah ditransmisikan. Serialisasi tidak memiliki beberapa konsekuensi keamanan. Baca Joshua Bloch's Java Efektif .sumber
Jawaban atas pertanyaan ini adalah, mungkin secara mengejutkan, tidak pernah , atau lebih realistis, hanya ketika Anda dipaksa untuk interoperabilitas dengan kode lama . Ini adalah rekomendasi dalam Java Efektif, Edisi ke-3 oleh Joshua Bloch:
Kepala arsitek Oracle, Mark Reinhold, pada catatan mengatakan menghapus mekanisme serialisasi Java saat ini adalah tujuan jangka panjang.
Mengapa serialisasi Java cacat
Java menyediakan skema serialisasi yang bisa Anda pilih sebagai bagian dari bahasa, dengan menggunakan
Serializable
antarmuka. Namun skema ini memiliki beberapa kelemahan yang tidak dapat dipecahkan dan harus diperlakukan sebagai percobaan yang gagal oleh perancang bahasa Jawa.Apa yang harus dilakukan
Alih-alih, gunakan skema serialisasi yang dapat Anda kontrol secara eksplisit. Seperti Protokol Buffer, JSON, XML, atau skema kustom Anda sendiri.
sumber