Immutable 想破坏它也没办法
生活随笔
收集整理的這篇文章主要介紹了
Immutable 想破坏它也没办法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
上一章講的是線程互斥的synchronized實(shí)現(xiàn),這樣做會(huì)影響性能,如何才能做到既不影響性能又能達(dá)到線程安全的目的呢,就是使用狀態(tài)絕不會(huì)改變的類,Java中的應(yīng)用就是String類。
public class ImmutableThreadTest {/*** @param args*/public static void main(String[] args) {Person p = new Person("Alice", "Alaska");new PrintPersonThread(p).start();new PrintPersonThread(p).start();} }class PrintPersonThread extends Thread{private Person person;public PrintPersonThread(Person person){this.person = person;}@Overridepublic void run() {while(true){System.out.println(Thread.currentThread().getName() + " Prints " + person);}} }final class Person{private final String name;private final String address;public Person(String name, String address){this.name=name;this.address=address;}public String getName() {return name;}public String getAddress() {return address;}@Overridepublic String toString() {return "[person:name=" + name + ", address=" + address + "]";} }
這個(gè)模式很簡(jiǎn)單,就是將對(duì)象的所有字段都設(shè)為final的,這樣就只有在構(gòu)造的時(shí)候初始化一次,以后都是只讀狀態(tài),當(dāng)一個(gè)類不需要修改對(duì)象內(nèi)變量時(shí),可以使用Immutable模式。
?
轉(zhuǎn)載于:https://www.cnblogs.com/gaotianle/p/3307588.html
總結(jié)
以上是生活随笔為你收集整理的Immutable 想破坏它也没办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑开机后闪屏是怎么回事 电脑开机后屏幕
- 下一篇: u盘打开是空的怎么办 如何解决U盘打开为