Kuinka toteuttaa haihtuva avainsana Java-sovelluksessa?



Java on yksi ohjelmointi, joka on siunattu runsailla ominaisuuksilla. Tässä artikkelissa tutkitaan yhtä sellaista ominaisuutta, joka on epävakaa avainsana Javaissa.

on yksi ohjelmointi, joka on siunattu runsailla ominaisuuksilla. Tässä artikkelissa tutkitaan yhtä sellaista ominaisuutta, joka on epävakaa avainsana Javaissa. Seuraavat vihjeet käsitellään tässä artikkelissa,

Jatketaan tämän artikkelin kanssa Volatile Keyword in Java -sovelluksesta.





Haihtuvaa avainsanaa käytetään muuttujan arvon muokkaamiseen eri säikeillä. Sitä käytetään myös luokkien tekemiseen langattomaksi. Se tarkoittaa, että useat ketjut voivat käyttää menetelmää ja luokkien esiintymää samanaikaisesti ilman mitään ongelmia. Haihtuvaa avainsanaa voidaan käyttää joko primitiivisen tyypin tai esineiden kanssa.

jatko-tutkintotodistus vs. maisterin tutkinto

Esimerkki

luokan testi {staattinen int var = 5}

Oletetaan yllä olevassa esimerkissä, että kaksi säiettä työskentelee samassa luokassa. Molemmat ketjut toimivat eri prosessoreissa, joissa jokaisella säikeellä on oma var-kopio. Jos jokin säie muuttaa arvonsa, muutos ei heijastu alkuperäisessä päämuistissa. Se johtaa tietojen epäjohdonmukaisuuteen, koska toinen säie ei ole tietoinen muokatusta arvosta.



luokan testi {staattinen haihtuva int var = 5}

Yllä olevassa esimerkissä staattiset muuttujat ovat luokan jäseniä, jotka jaetaan kaikkien objektien kesken. Päämuistissa on vain yksi kopio. Haihtuvan muuttujan arvoa ei koskaan tallenneta välimuistiin. Kaikki lukeminen ja kirjoittaminen tehdään päämuistista ja päämuistiin.

Jatketaan tämän artikkelin kanssa Volatile Keyword in Java -sovelluksesta.

muuntaa binääri kokonaisluvuksi Java

Ero synkronoinnin ja epävakaan avainsanan välillä

Haihtuva avainsana ei korvaa synkronoitua avainsanaa, mutta sitä voidaan käyttää vaihtoehtona tietyissä tapauksissa. Seuraavat erot ovat seuraavat:



Haihtuva avainsana Synkronointiavainsana
Haihtuva avainsana on kentän muokkaaja.Synkronoitu avainsana muuttaa koodilohkoja ja menetelmiä.
Lankaa ei voida estää odottamasta haihtumista.Langat voidaan estää odottamasta synkronoinnin yhteydessä.
Se parantaa langan suorituskykyä.Synkronoidut menetelmät heikentävät langan suorituskykyä.
Se synkronoi yhden muuttujan arvon kerrallaan ketjumuistin ja päämuistin välillä.Se synkronoi kaikkien muuttujien arvon ketjumuistin ja päämuistin välillä.
Haihtuvat kentät eivät ole kääntäjän optimoinnin alaisia.Synkronointi edellyttää kääntäjän optimointia.

Jatketaan tämän artikkelin kanssa Volatile Keyword in Java -sovelluksesta.

Esimerkki:

on helppo oppia
public class VolatileTest {private static final Logger LOGGER = MyLoggerFactory.getSimplestLogger () private static volatile int MY_INT = 0 public static void main (String [] args) {new ChangeListener (). start () new ChangeMaker (). start ()} staattinen luokka ChangeListener laajentaa ketjua {@Override public void run () {int local_value = MY_INT while (local_value<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() } } } } } 

Kuva- Haihtuva-Edureka

Siksi olemme päässeet tämän artikkelin aiheesta 'Volatile Keyword in Java'. Jos haluat oppia lisää, tutustu luotettavan verkkokoulutusyrityksen Edurekan Java-koulutukseen. Edurekan kurssi on suunniteltu kouluttamaan sinua sekä ydin- että edistyneille Java-konsepteille sekä erilaisille Java-kehyksille, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.