Artikel ini menganalisis penggunaan kata kunci sementara di Java. Bagikan untuk referensi Anda. Analisis spesifiknya adalah sebagai berikut:
Java memiliki fitur serialisasi. Ini dapat sangat memfasilitasi beberapa operasi di jaringan, tetapi pada saat yang sama, karena melibatkan masalah keamanan, tidak dimaksudkan untuk menyimpan segala sesuatu di kelas (karena dengan cara itu, orang lain dapat mengetahui konten di kelas melalui serialisasi). Kita dapat menggunakan kata kunci sementara, yang berarti sementara, yaitu, tidak akan diserialisasi secara lokal dengan kelas, jadi setelah pemulihan, variabel yang ditentukan oleh kata kunci ini tidak ada lagi.
Biasanya, program yang kami tulis mengharuskan informasi spesifik bertahan atau disimpan ke disk untuk digunakan oleh satu program atau pada program lain dari program yang sama. Dukungan untuk serialisasi objek. Namun, ada kemungkinan bahwa tidak semua domain perlu disimpan. .
Pertama, mari kita lihat beberapa kode serialisasi Java:
LoggingInfo Public mengimplementasikan java.io.serializable {private date loggingDate = new Date () ) {String kata sandi = null; if (pwd == null) {kata sandi = "tidak diatur" Tanggal: " + LoggingDate.ToString () +"/n Kata sandi: " + kata sandi;}}Sekarang kami membuat instance dari kelas ini, membuat serial, dan kemudian menulis objek serial ini seperti disk.
LoggingInfo Loginfo = LoggingInfo baru ("Mike", "Mechanics"); (loginfo); ;Jika kami menjalankan kode ini, kami akan melihat bahwa objek membaca kembali (de-serialization)) dari Disk mencetak kata sandi sebagai "tidak diatur". Ini adalah hasil yang benar yang kami harapkan ketika kami mendefinisikan domain PWD sebagai sementara.
Sekarang, mari kita lihat masalah potensial yang dapat timbul dari pengobatan domain sementara yang ceroboh. Misalkan kita memodifikasi definisi kelas dan memberikan nilai default ke domain sementara, kode ini sebagai berikut:
Kelas publik mengimplementasikan java.io.serializable {private date loggingDate = new Date (); {// Sama seperti di atas}} Sekarang, jika kita melewati contoh GuestLoggingInfo, tuliskan ke disk, dan membacanya di luar disk, kita masih melihat kata sandi cetak objek readback sebagai "tidak diatur".
Ketika sebuah instance dari suatu kelas dibaca dari disk, konstruktor kelas ini sebenarnya tidak dieksekusi.
Sebaliknya, keadaan yang terus -menerus dari objek kelas ini dimuat dan keadaan ini ditugaskan ke objek lain dari kelas ini.
Saya harap artikel ini akan membantu pemrograman Java semua orang.