Rumah Pengembangan Apa itu volatile? - definisi dari techopedia

Apa itu volatile? - definisi dari techopedia

Daftar Isi:

Anonim

Definisi - Apa yang dimaksud dengan Volatile?

Volatile adalah kata kunci dalam bahasa pemrograman java yang menentukan bahwa variabel anggota yang terkait dengan kelas dapat diubah secara tidak sinkron oleh beberapa utas. Kata kunci yang tidak stabil dalam kode bertindak sebagai pengubah ketika anggota dideklarasikan. Kata kunci adalah kata yang dilindungi secara fundamental dengan makna berbeda dalam konteks penyusun.

Kata kunci yang mudah menguap digunakan setiap kali variabel menandakan semacam variabel yang tergantung pada lingkungan atau sistem, seperti penghitung dan jam sederhana.

Techopedia menjelaskan Volatile

Kata kunci yang mudah menguap memastikan bahwa setiap akses baca ke variabel anggota mengembalikan nilai yang terbaru. Ini tidak efektif ketika perubahan terbaru dilakukan menggunakan utas yang berbeda. Jika variabel anggota tidak dinyatakan sebagai volatile, utas tidak akan dapat mengenali modifikasi yang dilakukan padanya menggunakan utas yang berbeda.

Untuk anggota ganda atau panjang, kata kunci yang mudah menguap juga memastikan bahwa mesin virtual tidak akan menghasilkan dua penulisan 32-bit berturut-turut, tetapi sebagai gantinya hanya akan membuat satu penulisan 64-bit. Jika ini tidak layak, implementasi JVM terus memastikan atomicity fungsi ini agar bagian bawah yang lama tidak akan dibaca dengan bagian baru yang lebih tinggi dari beberapa volatile double atau long.

Volatile menulis dan membaca mengatur hubungan yang terjadi sebelum. Sebelum objek volatil diakses, sinkronisasi terjadi antara memori utama dan variabel yang di-cache, seperti yang terjadi sebelum memasuki atau setelah meninggalkan blok yang disinkronkan. Ini menyiratkan bahwa objek yang mudah menguap dapat dipublikasikan dengan aman tanpa sinkronisasi; yaitu, ketika objek volatil diakses oleh utas, anggota objek itu juga diperbarui.

Ketika suatu variabel digambarkan sebagai volatile, JVM dan Java compiler melakukan dua hal berikut.

  1. Kompiler gagal memaksimalkan pernyataan dan ekspresi yang terkait dengan variabel itu.
  2. JVM menyinkronkan variabel.

Keuntungan dari volatile adalah sebagai berikut:

  • Ringan
  • Ini menyebabkan overhead yang sangat kecil untuk membaca dan menulis, tetapi masih lebih cepat daripada mengunci.
  • Volatile tahan terhadap kunci mati.
Apa itu volatile? - definisi dari techopedia