![](/img/trans.png)
[英]Why is java.lang.ThreadLocal a map on Thread instead on the ThreadLocal?
[英]Why isnt ThreadLocal or AnnotationProcessor not defined in Java specification?
很长一段时间以来,我一直是一名 Java 应用程序开发人员。 最近,Java 和 JVM 规范引起了我的兴趣。 我想更多地了解 Java 的一些内部原理,这些内容是我很长时间以来一直未能解决的主题。
我尝试在这些文档中搜索 ThreadLocal 或 Annotation Processors,但找不到它们。 缺乏有关它们的信息背后是否有原因? 我认为 Threadlocal 至少是 Java 包的一部分?
规范不是我想象的百科全书吗? 它们是相当大的文件,所以我可能完全错过了它们
https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf https://docs.oracle.com/javase/specs/jls/se8/jls8.pdf
为什么 Java 语言规范 (JLS) 中没有定义
ThreadLocal
或AnnotationProcessor
?
因为它们是在其他地方指定的。
ThreadLocal
的规范在 javadocs 中:
注释处理器的规范也在 javadocs 中。 从这里开始:
通常,JLS 仅指定 Java 编程语言本身。 Java 环境的其他方面(例如 Java 类库、JVM 规范、Java 工具规范以及许多其他内容)在各种技术说明、白皮书和 JSR 或 JEP 中指定(或描述)。
一般来说,所有这些信息都在公共网络上,可以使用 Google 和智能选择的搜索词找到。 例如,我通过谷歌搜索javadoc ThreadLocal java 11
获得了 Java 11 中ThreadLocal
的javadoc ThreadLocal java 11
。
然而,如果您正在寻找内部文档(例如一些解释如何实现ThreadLocal
设计文档),您不太可能找到任何东西......超出 OpenJDK 源代码本身。 但是源代码是免费提供的,并且(一般来说)得到了很好的评论。 谷歌搜索您正在寻找的版本; 例如openjdk source code java 11
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.