Будинки Розвиток Що є летючим? - визначення з техопедії

Що є летючим? - визначення з техопедії

Зміст:

Anonim

Визначення - Що означає Летючі?

Volatile - це ключове слово в мові програмування java, яке вказує, що змінну члена, пов'язану з класом, можна асинхронно змінювати декількома потоками. Ефірне ключове слово в коді діє як модифікатор при оголошенні члена. Ключові слова - це принципово застережені слова з чітким значенням у контексті компілятора.

Ефірне ключове слово використовується, коли змінна означає певну змінну, яка залежить від середовища чи системи, наприклад, прості лічильники та годинники.

Техопедія пояснює летючі

Мінливе ключове слово забезпечує, що кожен доступ для читання до змінної члена повертає останнє значення його. Це не ефективно, коли останні зміни виконуються за допомогою іншого потоку. Якщо змінна члена не оголошена мінливою, потік не зможе розпізнати модифікації, зроблені в ній, використовуючи інший потік.

Для подвійного або довгого члена, мінливе ключове слово також гарантує, що віртуальна машина не буде генерувати два послідовних 32-бітових запису, а створить лише одне 64-бітове записування. Якщо це неможливо, реалізація JVM продовжує забезпечувати атомність цієї функції, щоб стара нижня половина не була прочитана з новою вищою половиною якогось летючого подвійного або довгого.

Летючі записи і читання налаштовують відносини, що трапляються раніше. Перед тим як отримати доступ до енергонезалежного об'єкта, відбувається синхронізація між основною пам'яттю та кешованими змінними, подібно до того, як це відбувається до введення або після виходу із синхронізованого блоку. Це означає, що мінливий об'єкт може бути безпечно опублікований без синхронізації; тобто, коли до летучого об’єкта звертається потік, члени цього об'єкта також оновлюються.

Коли змінна описана як мінлива, компілятор JVM та Java виконують наступні дві речі.

  1. Компілятор не в змозі максимально використати твердження та вирази, пов'язані з цією змінною.
  2. JVM синхронізує змінну.

Перевагами летючих є такі:

  • Це легка вага
  • Це спричиняє дуже невеликі накладні витрати для читання та запису, але все ж швидше, ніж блокування.
  • Летючий стійкий до мертвих замків.
Що є летючим? - визначення з техопедії