[英]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.