为何IDEA查看JDK类显示.java文件而非.class?本地找不到该文件
为什么IDEA能显示JDK核心类的.java源码但磁盘中找不到?
JDK自带源码压缩包,IDEA自动关联:你安装的JDK里默认会附带一个
src.zip(部分版本是src.jar),这个压缩包才是存放Thread.java这类核心类源码的地方,而rt.jar里确实只有编译后的.class文件。IDEA在配置JDK时会自动识别并关联这个源码包,所以你用Ctrl+Click跳转时,它直接从src.zip里读取源码内容展示给你,而不是从磁盘上的独立.java文件读取。临时缓存展示,不生成本地文件:IDEA展示压缩包里的源码时,会把需要的文件临时解压到自己的缓存目录(比如系统临时文件夹或IDEA的缓存路径),但这些临时文件不会被放到你常规搜索的磁盘路径下,也不会长期保留,所以你在整个磁盘里搜
Thread.java自然找不到。验证关联状态的方法:你可以打开IDEA的
File > Project Structure > SDKs,切换到Sourcepath标签页,就能看到当前JDK关联的src.zip路径。如果这个路径没配置,Ctrl+Click跳转后只会看到反编译的.class文件(顶部会有// DECOMPILED FROM CLASS FILE的注释)。
内容的提问来源于stack exchange,提问作者Blaze
相关产品推荐
相关产品推荐

