Waar om onveranderlike voorwerpe te gebruik?

INHOUDSOPGAWE:

Waar om onveranderlike voorwerpe te gebruik?
Waar om onveranderlike voorwerpe te gebruik?
Anonim

Onveranderlike voorwerpe kan nuttig wees in multi-draadtoepassings. Veelvuldige drade kan op data reageer wat deur onveranderlike voorwerpe verteenwoordig word sonder om bekommerd te wees dat die data deur ander drade verander word. Onveranderlike voorwerpe word dus as meer draadveilig as veranderlike voorwerpe beskou.

Wat is die punt van onveranderlike voorwerpe?

Maksimum vertroue op onveranderlike voorwerpe word algemeen aanvaar as 'n goeie strategie vir die skep van eenvoudige, betroubare kode. Onveranderlike voorwerpe is veral nuttig in gelyktydige toepassings. Aangesien hulle nie van toestand kan verander nie, kan hulle nie deur draadinmenging beskadig word of in 'n inkonsekwente toestand waargeneem word nie.

Watter voorwerpe moet onveranderlik genoem word?

Onveranderlike voorwerpe is bloot voorwerpe waarvan die toestand (die voorwerp se data) nie kan verander na konstruksie. Voorbeelde van onveranderlike voorwerpe uit die JDK sluit String en Heelgetal in. Onveranderlike voorwerpe vereenvoudig jou program baie, aangesien hulle: maklik is om te bou, toets en gebruik.

Hoe implementeer jy 'n onveranderlike voorwerp?

Om 'n onveranderlike voorwerp te skep, moet jy 'n paar eenvoudige reëls volg:

  1. Moenie enige stelmetode byvoeg nie.
  2. Verklaar alle velde finaal en privaat.
  3. As 'n veld 'n veranderlike voorwerp is, skep verdedigende kopieë daarvan vir getter-metodes.
  4. As 'n veranderlike voorwerp wat aan die konstruktor oorgedra word aan 'n veld toegewys moet word, skep 'n defensiewe kopie daarvan.

Waar gaan onsgebruik onveranderlike klas in Java?

Onveranderlike klasse maak gelyktydige programmering makliker. Onveranderlike klasse maak seker dat waardes nie in die middel van 'n operasie verander word sonder om gesinchroniseerde blokke te gebruik nie. Deur sinchronisasieblokke te vermy, vermy jy dooiepunte.

Aanbeveel:

Interessante artikels
Moet pasiënte vertel word dat hulle besig is om te sterf?
Lees meer

Moet pasiënte vertel word dat hulle besig is om te sterf?

Om vir iemand te vertel dat hulle gaan sterf Wanneer iemand dalk die laaste dae van die lewe binnegaan, 'n gesondheidsorgwerker moet die pasiënt vertel dat hulle sterf (tensy hulle wil nie weet nie). Moet terminaal siek pasiënte vertel word?

In eenvoud is daar skoonheid?
Lees meer

In eenvoud is daar skoonheid?

Een van my gunsteling-aanhalings is deur Leonardo da Vinci: “Eenvoud is die uiteindelike sofistikasie”. Hoe ek dit verstaan, is dat eenvoud hand aan hand gaan met perfeksie. Dit wys hoe mooi en elegant dinge is as dit nie in die detail verlore is nie.

Is ixora 'n meerjarige plant?
Lees meer

Is ixora 'n meerjarige plant?

Die blare van hierdie tropiese meerjarige is brons wanneer dit jonk is en verskuif na glinsterende donkergroen soos die plant verouder. 'n Kompakte, digvertakte struik, ixora, is ideaal vir plant as 'n heining, rand, skerm, of vertoonmonster - afhangend van watter variëteit jy kies.