Nemenné objekty môžu byť užitočné v viacvláknových aplikáciách. Viaceré vlákna môžu pôsobiť na údaje reprezentované nemennými objektmi bez toho, aby sa museli starať o to, že údaje budú zmenené inými vláknami. Nemenné objekty sa preto považujú za bezpečnejšie pre vlákna ako meniteľné objekty.
Aký zmysel majú nemenné predmety?
Maximálne spoliehanie sa na nemenné objekty je široko akceptované ako rozumná stratégia na vytváranie jednoduchého a spoľahlivého kódu. Nemenné objekty sú obzvlášť užitočné v súbežných aplikáciách. Keďže nemôžu zmeniť stav, nemôžu byť poškodené rušením vlákna alebo pozorované v nekonzistentnom stave.
Ktoré objekty by sa mali nazývať nemenné?
Nemenné objekty sú jednoduché objekty, ktorých stav (údaje objektu) sa po zostavení nemôže zmeniť. Príklady nemenných objektov z JDK zahŕňajú String a Integer. Nemenné objekty výrazne zjednodušujú váš program, pretože: sú jednoduché na konštrukciu, testovanie a používanie.
Ako implementujete nemenný objekt?
Ak chcete vytvoriť nemenný objekt, musíte dodržiavať niekoľko jednoduchých pravidiel:
- Nepridávajte žiadnu metódu nastavovania.
- Vyhlásiť všetky polia za konečné a súkromné.
- Ak je pole meniteľný objekt, vytvorte jeho obranné kópie pre metódy získavania.
- Ak meniteľný objekt odovzdaný konštruktorovi musí byť priradený k poľu, vytvorte jeho obrannú kópiu.
Kde smepoužiť nemennú triedu v jazyku Java?
Nemenné triedy uľahčujú súbežné programovanie. Nemenné triedy zabezpečujú, že hodnoty sa nemenia uprostred operácie bez použitia synchronizovaných blokov. Ak sa vyhnete blokom synchronizácie, vyhnete sa zablokovaniu.