Hvor skal jeg bruke uforanderlige objekter?

Innholdsfortegnelse:

Hvor skal jeg bruke uforanderlige objekter?
Hvor skal jeg bruke uforanderlige objekter?
Anonim

Uforanderlige objekter kan være nyttige i multi-threaded applications. Flere tråder kan virke på data representert av uforanderlige objekter uten bekymring for at dataene endres av andre tråder. Uforanderlige objekter anses derfor som mer trådsikre enn foranderlige objekter.

Hva er vitsen med uforanderlige objekter?

Maksimal avhengighet av uforanderlige objekter er allment akseptert som en god strategi for å lage enkel, pålitelig kode. Uforanderlige objekter er spesielt nyttige i samtidige applikasjoner. Siden de ikke kan endre tilstand, kan de ikke bli ødelagt av trådinterferens eller observert i en inkonsekvent tilstand.

Hvilke objekter bør kalles uforanderlige?

Uforanderlige objekter er ganske enkelt objekter hvis tilstand (objektets data) ikke kan endres etter konstruksjon. Eksempler på uforanderlige objekter fra JDK inkluderer streng og heltall. Uforanderlige objekter forenkler programmet ditt betydelig, siden de: er enkle å konstruere, teste og bruke.

Hvordan implementerer du et uforanderlig objekt?

For å lage et uforanderlig objekt må du følge noen enkle regler:

  1. Ikke legg til noen settermetode.
  2. Erklær alle felt endelige og private.
  3. Hvis et felt er et objekt som kan endres, kan du lage defensive kopier av det for getter-metoder.
  4. Hvis et mutbart objekt som sendes til konstruktøren må tilordnes til et felt, lag en defensiv kopi av det.

Hvor skal vibruke uforanderlig klasse i Java?

Uforanderlige klasser gjør samtidig programmering enklere. Uforanderlige klasser sørger for at verdier ikke endres midt i en operasjon uten å bruke synkroniserte blokker. Ved å unngå synkroniseringsblokker unngår du vranglåser.

Anbefalt:

Interessante artikler
Ville metastatisk kreft dukke opp i blodprøver?
Les mer

Ville metastatisk kreft dukke opp i blodprøver?

Det er ingen test for å se etter metastaser. Ulike tester vil avdekke forskjellige ting. Testene som gjøres bestemmes av typen primær kreft og/eller eventuelle symptomer som må undersøkes. Rutinemessige blodprøver som leverenzymer kan være forhøyet i nærvær av levermetastaser.

Skal jeg drepe eller forlate Simon?
Les mer

Skal jeg drepe eller forlate Simon?

Hvis sentralvakten ble varslet, blir Simon skadet i kringkastingsrommet og kollapser. Hvis spilleren velger å forlate ham i stedet for å redde ham eller velger å redde ham, men mislykkes i hurtigtidshendelsen, SWAT-teamet dreper ham. Hvis Simon ble skadet, men brakt opp på taket, kan spilleren velge å skyte ham.

Betyr ordet plyndring?
Les mer

Betyr ordet plyndring?

engasjert i plyndring, spesielt streifer rundt og herjer et område: plyndrede band av fredløse. Hva betyr plyndring? intransitivt verb.: å streife rundt og plyndre på leting etter plyndring en plyndringsgjeng med tyver. transitive verb.