欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Immutable 想破坏它也没办法

发布时间:2024/10/12 编程问答 77 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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 想破坏它也没办法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。