龙岩建设局招聘网站,二级医院做网站,衡阳建设网站,山东网站备案注销申请表在阅读JDK8源码的时候发现#xff0c;只有一小部分常用包是存在源码及其注释的#xff0c;而很多内部包是没有源码#xff0c;class文件在阅读的时候对阅读者十分不友好。在网上搜集了很多资料都没有解决问题。 解决问题办法#xff1a;参考文档。本文主要是根据这篇文章记…在阅读JDK8源码的时候发现只有一小部分常用包是存在源码及其注释的而很多内部包是没有源码class文件在阅读的时候对阅读者十分不友好。在网上搜集了很多资料都没有解决问题。 解决问题办法参考文档。本文主要是根据这篇文章记录下解决过程。本来不想重写一遍但是网上太多教程根本无法解决这个问题
一、问题描述
在学习JDK动态代理源码时发现Proxy是有源码及注释的文件后缀为java。而在阅读到其又依赖的ProxyGenerator类时发现无法看到其源码注释文件后缀为class。 没有源码可给阅读带来了极大的难度尝试在网上搜索了一些资料均不能解决问题。 根据参考文档原因如下 IDEA展现JDK8的源码路径如下 加压src.zip 从具体内容看确实没有ProxyGenerator所在的sun包。那如何解决呢
二、如何解决
① 下载JDK源码
git clone https://github.com/unofficial-openjdk/openjdk.git #克隆至本地② 切换目录分支
cd /${path2jdk}/openjdk # 切换至jdk目录
git checkout jdk8u/jdk8u # 切换至jdk8分支查看分支文件 ③ 找到源码文件 我们需要的源码文件在{path2jdk}/openjdk/jdk/src/share/classes/ ④ 按需压缩源码文件 这里我仅需要sun包下的源码文件压缩sun文件夹
将压缩后的sun.zip文件放置在某目录下如/Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home/并将sun.zip加入到IDEA的sourcePath中:
三、结果
问题完美解决 【最后】本文用到的sun.zip已上传至资源JDK中Sun包下源码zip文件,如果有其他子包需要可自行下载或联系我上传更多。