Immutable 想破坏它也没办法
生活随笔
收集整理的這篇文章主要介紹了
Immutable 想破坏它也没办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一章講的是線程互斥的synchronized實現,這樣做會影響性能,如何才能做到既不影響性能又能達到線程安全的目的呢,就是使用狀態絕不會改變的類,Java中的應用就是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 + "]";} }
這個模式很簡單,就是將對象的所有字段都設為final的,這樣就只有在構造的時候初始化一次,以后都是只讀狀態,當一個類不需要修改對象內變量時,可以使用Immutable模式。
?
轉載于:https://www.cnblogs.com/gaotianle/p/3307588.html
總結
以上是生活随笔為你收集整理的Immutable 想破坏它也没办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑开机后闪屏是怎么回事 电脑开机后屏幕
- 下一篇: u盘打开是空的怎么办 如何解决U盘打开为