Kaip įdiegti lakų raktinį žodį „Java“?



„Java“ yra vienas programavimo, palaimintas daugybe funkcijų. Šiame straipsnyje mes išnagrinėsime vieną tokią funkciją, kuri yra nepastovus raktinis žodis „Java“.

yra vienas programavimas, palaimintas daugybe funkcijų. Šiame straipsnyje mes išnagrinėsime vieną tokią funkciją, kuri yra nepastovus raktinis žodis „Java“. Tolimesni patarimai bus aptarti šiame straipsnyje,

kaip naudoti failą Java

Toliau einant su šiuo straipsniu apie lakiuosius raktinius žodžius „Java“.





Nepastovus raktinis žodis naudojamas kintamojo vertei keisti skirtingomis gijomis. Jis taip pat naudojamas, kad klasės būtų saugios siūlams. Tai reiškia, kad kelios gijos vienu metu gali naudoti metodą ir klasių egzempliorių be jokių problemų. Nepastovus raktinis žodis gali būti naudojamas su primityviu tipu arba objektais.

Pavyzdys

klasės testas {static int var = 5}

Pirmiau pateiktame pavyzdyje tarkime, kad dvi gijos dirba toje pačioje klasėje. Abi gijos veikia skirtinguose procesoriuose, kur kiekviena gija turi savo var. Jei kuri nors gija pakeis jos vertę, pakeitimas neatsispindės pirminėje pagrindinėje atmintyje. Tai lemia duomenų nenuoseklumą, nes kita gija nežino modifikuotos vertės.



klasės testas {static volatile int var = 5}

Ankstesniame pavyzdyje statiniai kintamieji yra klasės nariai, kurie yra bendrai naudojami visiems objektams. Pagrindinėje atmintyje yra tik viena kopija. Nepastovaus kintamojo vertė niekada nebus saugoma talpykloje. Visi skaitymai ir rašymas bus atliekami iš ir į pagrindinę atmintį.

Toliau einant su šiuo straipsniu apie lakiuosius raktinius žodžius „Java“.

Skirtumas tarp sinchronizavimo ir nepastovaus raktinio žodžio

Nepastovus raktinis žodis nėra sinchronizuoto raktinio žodžio pakaitalas, tačiau tam tikrais atvejais jis gali būti naudojamas kaip alternatyva. Yra šie skirtumai:



Lakus raktinis žodis Sinchronizavimo raktinis žodis
Nepastovus raktinis žodis yra lauko modifikatorius.Sinchronizuotas raktinis žodis modifikuoja kodų blokus ir metodus.
Siūlai negali būti užblokuoti laukimui, jei jie yra nepastovūs.Siūlai gali būti užblokuoti laukimui sinchronizavimo atveju.
Tai pagerina siūlų našumą.Sinchronizuoti metodai pablogina gijų našumą.
Jis vienu metu sinchronizuoja vieno kintamojo vertę tarp sriegio atminties ir pagrindinės atminties.Tai sinchronizuoja visų kintamųjų vertę tarp sriegio atminties ir pagrindinės atminties.
Nepastoviems laukams kompiliatorius nereikia optimizuoti.Sinchronizuoti reikia optimizuoti kompiliatorių.

Toliau einant su šiuo straipsniu apie lakiuosius raktinius žodžius „Java“.

kaip įgyvendinti krūvą

Pavyzdys:

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 ()} statinė klasė „ChangeListener“ pratęsia giją {@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() } } } } } 

Vaizdas- nepastovi-Edureka

Taigi mes priėjome šio straipsnio apie „nepastovų raktinį žodį„ Java ““ pabaigą. Jei norite sužinoti daugiau, apsilankykite patikimos internetinės mokymosi įmonės „Edureka“ „Java“ mokymuose. „Edureka“ kursas skirtas mokyti jus tiek pagrindinėms, tiek pažangioms „Java“ koncepcijoms kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

sql duomenų tipas datai

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio komentarų skiltyje ir mes kuo greičiau susisieksime su jumis.