提出问题
今天在调试源码的时候,我更换了编译目标版本,于是在单步调试跳转到源码的时候,就出现了这个问题。之前也出现过这个问题,还会提示download source file,然后我点了下载之后就可以了。但是这次没有出现这个提示了,所以我傻眼了。
原因
.java为Java的源文件后缀,编写的代码需要写在.java文件中。
而.class是字节码文件,是.java源文件通过javac命令编译后生成的文件。
Java虚拟机就是去运行.class文件从而实现程序的运行。
jdk自带 .class 文件,在运行的时候,没必要每次都去把 .java 文件再编译一遍成 .class文件,去运行。
也是为了加快代码执行速度。
————————————————
版权声明:本文为CSDN博主「请叫我大师兄__」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_27093465/article/details/52858092
这段话就可以解释,为什么现在跳转到源码的时候会提示这个,因为根本跳转到的就是.class字节码文件,并没有跳转到编译前的.java源码文件。这个字节码文件是jdk里自带的,而.java文件还没有下载到。
解决问题
勾选上你现在用的编译版本对应的source那个选项,应用,然后就会跳出下载弹窗啦。同样,如果你想卸掉一些sdk,也是取消勾选再应用,就会自动卸掉啦(我当时坑了一小会儿才知道怎么下载卸载,菜鸡跳坑的地方真是各种意想不到呢。。。