在某种情况下,我们需要查看类是用什么版本的Jdk编译的,下面这段代码就可以知道:
package com.dingfei.j2ee.basic;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
/**
* @author Jeffy Ding
*
*/
public class ClassVersionView {
public static void main(String[] args) throws IOException {
for (int i = 0; i < args.length; i++) {
viewClassVersion(args[i]);
}
viewClassVersion("E:\\test\\mavenproj\\target\\classes\\mavenproj\\mavenproj\\App.class");
}
public static void viewClassVersion(String filename) throws IOException {
DataInputStream in = null;
try {
in = new DataInputStream(new FileInputStream(filename));
int magic = in.readInt();
if (magic != 0xcafebabe) {
System.out.println(filename + " is not a valid class!");
}
int minor = in.readUnsignedShort();
int major = in.readUnsignedShort();
System.out.println(filename + ": " + major + " . " + minor);
} catch (Exception e) {
e.printStackTrace();
} finally {
in.close();
}
}
}
分享到:
相关推荐
本文将详细介绍如何使用`dex-tool`来查看Java Class文件,并探讨相关知识点。 首先,`dex-tool`是Apache Harmony项目的一部分,这是一个开源的Java实现,提供了一些用于处理Android Dex文件的命令行工具。在描述中...
2. **类文件结构**:每个Class文件都遵循固定的结构,包括魔数、版本信息( minor version 和 major version)、常量池、访问标志、类索引、父类索引、接口索引集合、字段表集合、方法表集合以及属性表集合等。...
### java.lang.UnsupportedClassVersionError: Bad version number in .class file 异常的解决办法 #### 一、问题概述 在使用MyEclipse进行Java开发的过程中,可能会遇到`java.lang.UnsupportedClassVersionError:...
Java 修改 Class 文件工具有很多,其中“JBE”(全称可能为 Java Bytecode Editor 或类似)是一个专门用于查看和编辑 Java 字节码的工具。它允许开发者在编译后的级别上操作 Java 类,这对于调试、逆向工程、优化...
### JAVA将Class文件打包为JAR文件的详细步骤与注意事项 #### 标题与描述概述 在Java开发中,将多个Class文件打包成一个JAR(Java Archive)文件是一种常见的做法,这有助于简化项目的部署过程并提高代码的可管理性...
通过以上步骤,你应该能够解决“decompiled.class file bytecode version:52.0(java 8)”的错误,成功引入第三方jar包并查看源码。记住,保持良好的编程习惯和及时更新工具是避免这类问题的关键。如果你仍然遇到困难...
Cpp运行Java的class文件,可以编译,运行需要jvm.dll 可以去掉Qt的依赖jint create_vm(JavaVM** jvm, JNIEnv** env) { JavaVMInitArgs args; JavaVMOption options[1]; args.version = JNI_VERSION_1_6; args....
情景:从项目中拿到一个客户的demo工程,或者导入一个别人的工程,编译时出现 Error:No such property: GradleVersion for class: JetGradlePlugin: 原因:这是gradle的版本太高导致的 解决办法: 第一步:打开...
Java Class文件是Java虚拟机(JVM)运行的基础,它是编译后Java源代码的二进制表示形式。在深入讲解Class文件格式之前,我们需要理解Java字节码的概念,它是一种平台无关的中间语言,使得Java程序可以在任何支持JVM...
<version>1.6.2</version> ``` 接下来,我们创建一个Java类来处理邮件的发送。首先,我们需要导入必要的库: ```java import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail....
然而,在使用 Tomcat 时,可能会出现 "bad version number in class file" 的错误,这个错误是由于 Java 编译版本和运行时版本不兼容所引起的。在这里,我们将讨论这个问题的解决方法。 问题分析 在 Tomcat 启动时...
2. **版本号**:紧跟魔数之后的是两个无符号短整数,分别为**次要版本号(Minor Version)**和**主要版本号(Major Version)**,它们指示了Class文件所对应的JDK版本。例如,版本号0x34对应于JDK 1.8。 3. **常量...
"Bad version number in .class file" 是一个在Java编程中常见的错误,通常出现在尝试运行或编译不兼容的.class文件时。这个错误意味着.class文件(Java字节码)的版本与正在执行它的JVM(Java虚拟机)版本不匹配。...
Java Class 文件运行方法详解 在 Java 开发中,运行 Class 文件是非常重要的一步骤。下面将详细介绍运行 Java 的 Class 文件方法的相关知识点。 一、运行 Class 文件 要运行 Class 文件,需要使用 Java 命令,...
Java Socket聊天程序全文件(java源码,jar文件,class文件),源码已经被全注释,下载该资源仅需1积分即可获得,此文件包含Client客户端和server服务器端程序,将服务器部署在本地,则可以在局域网使用该客户端进行交流,将其...
在Java编程环境中,"ALERT: java/lang/ClassFormatError: Bad version information."是一个常见的错误提示,这通常意味着你的程序尝试加载一个与当前运行时环境不兼容的类文件。这个错误通常涉及到Java类版本的问题...
2. **版本信息(Version)**:包括2字节的次要版本号和2字节的主要版本号,用于表示Class文件的格式版本,对应Java语言的版本。 3. **常量池(Constant Pool)**:Class文件中重要的数据结构,包含各种类型的常量,...
然后输入`java -version`,如果显示Java版本信息,比如"java version "1.8.0_181",则表示环境变量配置成功。 4. **Java版本**:JDK 1.8引入了许多新特性,包括Lambda表达式、方法引用来简化代码,Stream API增强...