IntelliJ IDEA引入第三方jar包或查看Java源码的时候报decompiled.class file bytecode version:52.0(java 8)错误的解决办法

所属分类: 软件编程 / java 阅读数: 27
收藏 0 赞 0 分享

引入第三方jar包或者查看Java源码的时候,经常遇到问题如下:

decompiled.class file bytecode version:52.0(java 8) ,open source file.

翻译一下上面的意思:(反编译 .class文件中的字节码 到Java 8 版本) 打开源文件

其实这个时候,你就得注意一下,你看到文件是 .class文件,还是 .java文件。

然后我就详细的总结了一下,二者的差别:

1.先是理论知识:

  • .java为Java的源文件后缀,编写的代码需要写在.java文件中。
  • 而.class是字节码文件,是.java源文件通过javac命令编译后生成的文件。
  • Java虚拟机就是去运行.class文件从而实现程序的运行。
  • jdk自带 .class 文件,在运行的时候,没必要每次都去把 .java 文件再编译一遍成 .class文件,去运行。
  • 也是为了加快代码执行速度。

2.具体的 .class文件和 .java文件的具体对比图,如下:

这个.java文件和我们自己写的.java文件一样,是可以打开看内容的。下面的jar里面的源码就打不开啦。

再看如下的2张图。继续理解一下上面的意思。

注意

  • 现在看到的是.class文件,我们知道自己的写的.java文件会经过编译器编译然后变成.class文件,然后才可以运行的。
  • 这可以看到.class文件内部的代码,估计都是编译器的功劳。但是可惜的是,丁点儿注释都没有。
  • 我记得eclipse里面这个时候,好像就是直接弹框让你打开源文件来着。

注意

  • 现在看到的是.java文件,和我们平时写的Java文件是一样样的。就是直接打开那个xxx-sources.jar的结果。里面注释啥的都有。
  • 这2个图对比,就可以发现。一般jar包是有2个类型的。结尾带-sources的和不带的。二者的差别,就如上所描述的。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

更多精彩内容其他人还在看

Spring Boot 配置 IDEA和DevTools 热部署的方法

这篇文章主要介绍了Spring Boot 配置 IDEA和DevTools 热部署的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

SpringBoot使用Redis缓存的实现方法

这篇文章主要介绍了SpringBoot使用Redis缓存的实现方法,需要的朋友可以参考下
收藏 0 赞 0 分享

SpringBoot中自定义参数绑定步骤详解

这篇文章主要介绍了SpringBoot中自定义参数绑定步骤详解,非常不错,具有参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

Java实现abc字符串排列组合

这篇文章主要为大家详细介绍了JAVA实现abc字符串的排列组合,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java中后台线程实例解析

这篇文章主要介绍了Java中后台线程实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

ehcache模糊批量移除缓存的方法

本篇文章主要介绍了ehcache模糊批量移除缓存的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Java多线程join方法实例代码

这篇文章主要介绍了Java多线程join方法实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java实现字符串排列组合问题

这篇文章主要为大家详细介绍了java实现字符串排列组合问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java排列组合字符串的方法

这篇文章主要介绍了Java排列组合字符串的方法
收藏 0 赞 0 分享

Java语言中的自定义类加载器实例解析

这篇文章主要介绍了Java语言中的自定义类加载器实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多