Var kan man använda oföränderliga objekt?

Var kan man använda oföränderliga objekt?
Var kan man använda oföränderliga objekt?
Anonim

Oföränderliga objekt kan vara användbara i multi-threaded applications. Flera trådar kan agera på data som representeras av oföränderliga objekt utan oro för att data ändras av andra trådar. Oföränderliga objekt anses därför vara mer trådsäkra än föränderliga objekt.

Vad är poängen med oföränderliga objekt?

Maxim alt beroende av oföränderliga objekt är allmänt accepterat som en sund strategi för att skapa enkel, pålitlig kod. Oföränderliga objekt är särskilt användbara i samtidiga applikationer. Eftersom de inte kan ändra tillstånd kan de inte skadas av trådstörningar eller observeras i ett inkonsekvent tillstånd.

Vilka objekt ska kallas oföränderliga?

Oföränderliga objekt är helt enkelt objekt vars tillstånd (objektets data) inte kan ändras efter konstruktion. Exempel på oföränderliga objekt från JDK inkluderar String och Integer. Oföränderliga objekt förenklar ditt program avsevärt, eftersom de: är enkla att konstruera, testa och använda.

Hur implementerar du ett oföränderligt objekt?

För att skapa ett oföränderligt objekt måste du följa några enkla regler:

  1. Lägg inte till någon sättermetod.
  2. Deklarera alla fält slutliga och privata.
  3. Om ett fält är ett föränderligt objekt skapa defensiva kopior av det för getter-metoder.
  4. Om ett föränderligt objekt som skickas till konstruktorn måste tilldelas ett fält, skapa en defensiv kopia av det.

Var ska vianvända oföränderlig klass i Java?

Oföränderliga klasser gör samtidig programmering enklare. Oföränderliga klasser ser till att värden inte ändras mitt i en operation utan att använda synkroniserade block. Genom att undvika synkroniseringsblockering undviker du låsningar.