IntelliJ IDEA引入第三方jar包或查看Java源码的时候报decompiled.class file bytecode version:52.0(java 8)错误的解决办法
时间:2020-10-19 10:29:32|栏目:JAVA代码|点击: 次
引入第三方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的和不带的。二者的差别,就如上所描述的。
总结
上一篇:解析Java线程编程中的线程安全与synchronized的使用
栏 目:JAVA代码
本文标题:IntelliJ IDEA引入第三方jar包或查看Java源码的时候报decompiled.class file bytecode version:52.0(java 8)错误的解决办法
本文地址:http://www.codeinn.net/misctech/13599.html
阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机