Како применити променљиву кључну реч у Јави?



Јава је један програм који има пуно могућности. У овом чланку ћемо истражити једну такву особину која је променљива кључна реч у Јави.

је један програм који има много карактеристика. У овом чланку ћемо истражити једну такву особину која је променљива кључна реч у Јави. Следећи смерници ће бити обрађени у овом чланку,

Настављамо са овим чланком о променљивој кључној речи на Јави.





употреба пакета у јави

Волатиле кључна реч се користи за модификовање вредности променљиве различитим нитима. Такође се користи за прављење класа без нити. То значи да више нити може истовремено користити методу и инстанцу класа без икаквог проблема. Волатиле кључна реч може се користити са примитивним типом или објектима.

Пример

тест класе {статиц инт вар = 5}

У горњем примеру, претпоставимо да две нити раде на истој класи. Обе нити раде на различитим процесорима где свака нит има своју локалну копију вар. Ако било која нит модификује своју вредност, промена се неће одразити на оригиналну у главној меморији. То доводи до недоследности података јер друга нит није свесна измењене вредности.



тест класе {статиц волатиле инт вар = 5}

У горњем примеру, статичке променљиве су чланови класе који се деле између свих објеката. У главној меморији је само једна копија. Вредност променљиве променљиве никада се неће сачувати у кеш меморији. Сва читања и писања обављаће се из и у главну меморију.

Настављамо са овим чланком о променљивој кључној речи на Јави.

Разлика између синхронизације и променљиве кључне речи

Хлапљива кључна реч није замена за синхронизовану кључну реч, али се у одређеним случајевима може користити као алтернатива. Постоје следеће разлике:



како поставити Јава цласспатх у линук командној линији
Хлапљива кључна реч Кључна реч за синхронизацију
Волатиле кеиворд је модификатор поља.Синхронизована кључна реч мења блокове кода и методе.
Нит се не може блокирати за чекање у случају испарљивости.Нити се могу блокирати на чекање у случају синхронизације.
Побољшава перформансе нити.Синхронизоване методе погоршавају перформансе нити.
Синхронизује вредност једне променљиве одједном између меморије нити и главне меморије.Синхронизује вредност свих променљивих између меморије нити и главне меморије.
Хлапљива поља нису предмет оптимизације компајлера.Синхронизација подлеже оптимизацији компајлера.

Настављамо са овим чланком о променљивој кључној речи на Јави.

Пример:

јавна класа ВолатилеТест {приватни статички коначни записник ЛОГГЕР = МиЛоггерФацтори.гетСимплестЛоггер () приватна статичка волатилност инт МИ_ИНТ = 0 јавна статичка воид главна (Стринг [] аргс) {нев ЦхангеЛистенер (). старт () нев ЦхангеМакер (). старт ()} статиц цласс ЦхангеЛистенер проширује нит {@Оверриде публиц воид рун () {инт лоцал_валуе = МИ_ИНТ вхиле (лоцал_валуе<5){ if( local_value!= MY_INT){ LOGGER.log(Level.INFO,'Got Change for MY_INT : {0}', MY_INT) local_value= MY_INT } } } } static class ChangeMaker extends Thread{ @Override public void run() { int local_value = MY_INT while (MY_INT <5){ LOGGER.log(Level.INFO, 'Incrementing MY_INT to {0}', local_value+1) MY_INT = ++local_value try { Thread.sleep(500) } catch (InterruptedException e) { e.printStackTrace() } } } } } 

Слика- Испарљиви-Едурека

Тако смо дошли до краја овог чланка о „Волатиле Кеиворд ин Јава“. Ако желите да сазнате више, погледајте Јава Траининг компаније Едурека, поуздане компаније за учење на мрежи. Едурека курс је дизајниран да вас оспособи за основне и напредне Јава концепте заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га помените у одељку за коментаре на овом блогу и јавићемо вам се што је пре могуће.

писање тумача у јави