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 想破坏它也没办法的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 电脑开机后闪屏是怎么回事 电脑开机后屏幕
- 下一篇: XDocument 获取包括第一行的声明