2024年最全IDEA构建JDK源码阅读的环境以及遇到的问题(1),怒肝三个月啃完这110道面试题

总结

无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。

最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。

面试了阿里,滴滴,网易,蚂蚁,最终有幸去了网易【面试题分享】

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

在这里插入图片描述

缺少sun.awt.UNIXToolkit 和 sun.font.FontConfigManager这两个类导致项目报错


解决思路: 在src的目录下手动添加这两个类

在这里插入图片描述

阅读源码的时候,点击进入方法关联到了jdk的源码上自身的源码上


在这里插入图片描述

可以看到我看的是AQS类中的某个方法file is readonly,然后发现直接点击进入了jdk的源码,而不是我自己构建的,而这个方法我是从我自己构建的JDK源码点击去的

在这里插入图片描述

这也太难了

参考的博文中也给出了答案,但是没有写完整。

解决思路: 排除掉src.zip文件,按下图操作即可。

在这里插入图片描述

首先声明按照楼主这么做是对的,我们验证一下

在这里插入图片描述

我直接全删掉了,然后添加我自己构建的JDK的SRC目录

在这里插入图片描述

如上图,操作完之后,按照之前点击进入AQS这个类,发现还是进入了JDK本身的源码中,我绝望了,也没有找到好的解决方式。

花了好久好久。。。。。。。

气的我砸键盘,后来发现砸键盘在这个类中居然能打字了,如下图,发现不是file is read only了,可以写了?

在这里插入图片描述

还是不懂,可能是我笨把

会不会是这个类指向这里,但是本身已经不是在这里了?(听不懂把,我也不会表达)

在这里插入图片描述

右键项目copy path,看到绝对路径并不是我说安装的jdk环境中的路径,而是自己构建的代码的路径,即使左侧显示的是在jdk的zip包下面。

所以在这里修改下,然后到我本身构建的JDK目录中查看是否被修改。

在这里插入图片描述

果然,在我刚刚构建的目录中修改成功了,我的设想是对的,而这其中修改了刚刚的sourcePath这个配置,那么我去看一次idea 官方文档怎么说?

在这里插入图片描述

地址:https://www.jetbrains.com/help/idea/2016.3/sdk.html

可能全翻译成中文不太好懂,containing the source code for the SDK binaries included in the classpath set.,这里其中包含类路径集中包含的SDK二进制文件的源代码。,类路径就是

在这里插入图片描述

就是这里,没错,我们java中的源代码大部分就在rt.jar中(题外话),classPath指向这里,但是里面的源代码通过上面的sourcePath已经类似于重定向 到了我自己制定的刚刚构建的位置了。

呜~

嗯,我想是这样的,虽然看起来挺别扭(看着是在jdk的zip中添加注释),不过真的解决问题了(被重定向了),虽然不是很完美,但是够用啦,哈哈哈哈哈哈

其他问题

==================================================================

参考的几个楼主中还有其他的问题,虽然我目前没有debug,但是前几步和他们说的一模一样,所以顺便把他们遇到的问题也记录下来,以后会用到。

debug的时候,误点Alternative source availble for the class xxxx 的disable


在这里插入图片描述

解决思路: 打开setting => Debugger, 如下图 选中该选项。

在这里插入图片描述

编译过程中报java:OutOfMemory,提示系统资源不足


编译过程中报java:OutOfMemory,提示系统资源不足(https://blog.csdn.net/ljj821061514/article/details/52371037)

我的原来默认设置的是700,改成1000就没问题了

在这里插入图片描述

要让代码运行时自动关联到当前项目src目录下的代码(这个跟我说的那个问题一样)


要让代码运行时自动关联到当前项目src目录下的代码(为了不影响平时使用jdk的源码,我创建了一个1.8study,唯一的差别就是把原来的src.zip换成了jdk1.8-sources-study的src目录)(https://blog.csdn.net/u011837804/article/details/80450809)

在这里插入图片描述

原文链接:https://blog.csdn.net/u010999809/article/details/101922489

手动构建(不通过git clone,不推荐)

====================================================================================

这种方式有点累,不太推荐,倒不如去github上找优秀的,在巨人肩膀上前行。

这种方式来自:https://blog.csdn.net/qq_42191317/article/details/102772497

简介


在项目开发中,查看jdk源码时是只允许读,无法修改或者加注释的。为了方便学习JDK源码,我们首先需要搭建环境,可以对JDK源码进行修改,添加注释等操作。

Step1:创建项目


打开IDEA,创建一个普通的Java工程,选择好JDK。

Step2:导入源码


总结

虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。

架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。

如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

72769595)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值