【问题标题】:Object's state in public static fields公共静态字段中对象的状态
【发布时间】:2016-05-08 18:17:16
【问题描述】:


我在 2006 年版 Brian Goetz 的 Java Concurrency in Practice 中阅读了以下声明。
“虽然可以编写一个线程安全程序,将其所有状态存储在公共静态字段中,但验证其线程安全性要困难得多......”(第 4 章 - 组合对象;4.1 设计线程安全类的第 1 段)
所有这一切,而我认为静态字段属于一个类并且不能存储对象的状态。我是不是误解了什么?


【问题讨论】:

    标签: java multithreading oop


    【解决方案1】:

    作者没有说静态字段属于对象。 他的意思是,将数据存储在类(原因)的静态字段中的程序,比使其真正线程安全的程序要困难得多,“......适当地使用封装。”

    是的,实例(对象)能够将数据存储在类的静态字段中。但作者想到了另一件事。

    【讨论】:

    • 如果你说的是真的,那我就活在 OOP 的无效前提下。
    • @Aceghn 没错。作者没有说明。你把对象星和程序状态混为一谈了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 2015-05-19
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多