Dom Rozwój Co jest niestabilne? - definicja z techopedia

Co jest niestabilne? - definicja z techopedia

Spisu treści:

Anonim

Definicja - Co oznacza lotny?

Volatile to słowo kluczowe w języku programowania Java, które określa, że ​​zmienną składową powiązaną z klasą można asynchronicznie zmieniać wiele wątków. Zmienne słowo kluczowe w kodzie działa jako modyfikator, gdy członek jest deklarowany. Słowa kluczowe są zasadniczo zastrzeżonymi słowami o wyraźnym znaczeniu w kontekście kompilatora.

Zmienne słowo kluczowe jest używane, gdy zmienna oznacza jakąś zmienną zależną od środowiska lub systemu, taką jak proste liczniki i zegary.

Techopedia wyjaśnia Volatile

Zmienne słowo kluczowe zapewnia, że ​​każdy dostęp do odczytu zmiennej członka zwraca jej najnowszą wartość. Nie działa to, gdy ostatnie zmiany zostały wykonane przy użyciu innego wątku. Jeśli zmienna elementu nie zostanie zadeklarowana jako zmienna, wątek nie będzie w stanie rozpoznać modyfikacji dokonanych za pomocą innego wątku.

W przypadku elementu podwójnego lub długiego zmienne słowo kluczowe zapewnia również, że maszyna wirtualna nie wygeneruje dwóch kolejnych 32-bitowych zapisów, ale zamiast tego utworzy tylko jeden zapis 64-bitowy. Jeśli nie jest to wykonalne, implementacja JVM nadal zapewnia atomowość tej funkcji, aby stara dolna połowa nie była odczytywana z nową wyższą połową jakiegoś lotnego podwójnego lub długiego.

Volatile pisze i czyta, tworząc relację przed wydarzeniem. Przed uzyskaniem dostępu do obiektu lotnego następuje synchronizacja między pamięcią główną a zmiennymi buforowanymi, podobnie jak przed wejściem lub po opuszczeniu zsynchronizowanego bloku. Oznacza to, że obiekt lotny może być bezpiecznie opublikowany bez synchronizacji; to znaczy, gdy wątek uzyskuje dostęp do lotnego obiektu, elementy tego obiektu są również aktualizowane.

Gdy zmienna jest opisywana jako lotna, kompilator JVM i Java wykonują następujące dwie czynności.

  1. Kompilator nie może zmaksymalizować instrukcji i wyrażeń związanych z tą zmienną.
  2. JVM synchronizuje zmienną.

Zalety substancji lotnych są następujące:

  • Jest lekki
  • Powoduje to, że bardzo mały narzut czyta i zapisuje, ale wciąż jest szybszy niż blokowanie.
  • Lotny jest odporny na martwe zamki.
Co jest niestabilne? - definicja z techopedia