我正在尝试应用阅读 Java Concurrency In Practice 中的课程来声明我编写的类是线程安全的还是它们包含不同步的可变状态。我认为这是一个好主意,因为它记录了应该如何使用该类的意图。
今天,我写了一个类,它包装了 java.lang.Class 和 java.net.URI 的一个实例。我正要在 javadoc 中写它是线程安全的不可变的,因为这两个字段都被声明为最终引用。但是,我查看了 URI 和 Class 的源代码,并没有看到任何关于它们是否是线程安全的声明,而且看起来也不是很明显。
更一般地考虑这一点:是否有一个常见 java 类的列表说明它们是否是线程安全的?
另一方面,由于使用此类的方式,实例是否严格线程安全可能并不重要,我现在将其标记为“可能是线程安全的”。