`
heipark
  • 浏览: 2078043 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

通过java class文件确定其编译器版本

    博客分类:
  • Java
阅读更多

方法一:

 

hexdump -C XXX.class

返回信息:ca fe ba be 00 00 00 34 .....

前几位"ca fe ba be"是固定的,后面34标识,当前class是JDK8编译的。

对照表:

Java SE 9 = 53 (0x35 hex),[3]
Java SE 8 = 52 (0x34 hex),
Java SE 7 = 51 (0x33 hex),
Java SE 6.0 = 50 (0x32 hex),
Java SE 5.0 = 49 (0x31 hex),

 

 

方法二

javap -verbose Xxxx (不要加.class)

返回信息头几行:major version: 52,标示当前class是JDK8编译的,对照表见上。

 

参考:

http://blog.sina.com.cn/s/blog_437ff56b0100r22z.html

https://en.wikipedia.org/wiki/Java_class_file

 

分享到:
评论

相关推荐

    Java快速编译工具

    优点:本程序不需要用户手动敲击CMD命令,只需在图形界面上用鼠标点击即可方便地编译Java源程序,并可自定义class文件的存储位置。同时,在用户点击编译、运行等按钮时,会自动生成相应的CMD命令并通过对话框显示...

    Java课程设计案例精编:Java课程设计案例精编.ISO

    经过编译产生*.class文件后,在C:\temp>提示符下使用java –classpath . * 命令即可运行程序(其中-classpath用来告诉编译器用户类文件的路径,“ . ”表示*.class文件的路径在当前目录位置,注意点的前后均有一个...

    java图书馆swing源码-cheerpj-meta:CheerpJ-将Java字节码转换为WebAssembly和JavaScript

    java图书馆swing源码 CheerpJ - 将 Java 转换为 WebAssembly 和 JavaScript CheerpJ 是 WebAssembly 和 JavaScript 编译器的 Java 字节码,与 Java 100% 兼容,允许将任何 Java SE 应用程序、库或 Java 小程序编译成...

    java 混淆工具,不可逆 jocky 也许是最好的了

    我们知道,Java是一种跨平台的编程语言,其源码(.java文件)被编译成与平台无关的字节码(.class文件),然后在运行期动态链接。这样,编译后的类文件中将包含有符号表,从而使得Java程序很容易被反编译。相信每一个...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    1.5.2 Java编译器(Java Compiler) 17 1.5.3 Java类库(Java Class Libraries) 17 1.5.4 Java虚拟机(Java Virtual Machine) 17 1.5.5 HelloWorld的整个流程 17 1.6 小结:我们学会了编译和运行一个Java程序...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    1.5.2 Java编译器(Java Compiler) 17 1.5.3 Java类库(Java Class Libraries) 17 1.5.4 Java虚拟机(Java Virtual Machine) 17 1.5.5 HelloWorld的整个流程 17 1.6 小结:我们学会了编译和运行一个Java程序...

    java 面试题 总结

    java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 6、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    类通过关键字 class 来定义,一般格式为: 【类说明修饰符】class 类名【extends 子句】【implements 子句】 type instance-varable1; type instance-varable2; type instance-varable3; the methodname1...

    JAVA面试题最全集

    描述一下JVM加载class文件的原理机制? 41.试举例说明一个典型的垃圾回收算法? 42.请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来. 43.请写一个java程序实现线程连接池功能? 44...

    jocky 混肴编译rar包(ant和插件俩个版本)

    我们知道,Java是一种跨平台的编程语言,其源码(.java文件)被编译成与平台无关的字节码(.class文件),然后在运行期动态链接。这样,编译后的类文件中将包含有符号表,从而使得Java程序很容易被反编译。相信每一个...

    javasnmp源码-java-summary:写一些java基本代码

    java snmp 源码 java-summary write some java basic code. ...也就是class文件,也就是java的运行程序 java: 负责运行的部分,会启动jvm,加载运行时所需的类库,并对class文件进行执行。 一个".ja

    DWR.xml配置文件说明书(含源码)

    <creator id="new" class="uk.ltd.getahead.dwr.create.NewCreator"/>DWR已经将这配置到了内置的dwr.xml文件中,并不需要进行额外的配置. Creator通过调用类的默认的构造方法创建实例.应用new creator有以下几个优点:...

    joc eclipse plugin

    我们知道,Java是一种跨平台的编程语言,其源码(.java文件)被编译成与平台无关的字节码(.class文件),然后在运行期动态链接。这样,编译后的类文件中将包含有符号表,从而使得Java程序很容易被反编译。相信每一个...

    超级有影响力霸气的Java面试题大全文档

    java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 9、说出Servlet的生命周期,并说出Servlet和CGI的区别。  Servlet被服务器实例化后,容器运行其init方法...

    myeclipse-2015-stable-2.0破解过程

    2、点SaveProperites把注册码保存到文件,这样就不用手动填了,如果有以前版本的,想要多版本共存,请看后面吧。 注意:有些需要做如下步骤 将myeclipse2015_keygen/publicKey.bytes换掉patch/plugins/...

    Java泛型的基本应用

    一、泛型概述  jdk1.5版本以后出现的新特性,用于解决安全问题,是一个安全机制。  好处:  1,将运行时期的问题ClassCastException转到了...  运行时,会将泛型去掉,生成的class文件中是不带泛型的,这个称

    关于JVM的总结

    验证:确保Class文件的字节流包含的信息符合当前虚拟机的要求. 准备:正式为类变量分配内存,并设置变量初始值.这些变量都存储在方法区. 解析:将常量池中的符号引用替换为直接引用的过程,虚拟机不会重新再解析而是...

    matlab对图像取反代码-tools:此存储库的目的是充当USCGA网络团队自行构建或使用的工具的存档

    .class文件 ...简单地找出“这是什么东西?” ...可以从.exe转储内存,确定编译器等。 ...确定将哪个打包程序用于.exe 网络/数据包嗅探 档案文件 pdfdetach ...提取文件中的嵌入式文件 漏洞利用/ Shellcode / 网络...

    MyEclipse2015Stable2.0补丁+注册机+步骤

    6.点SaveProperites把注册码保存到文件,这样就不用手动填了——如果有以前版本的,想要多版本共存,请看后面吧 7.把补丁包(patch)里的plugins复制到MyEclipse的plugins覆盖原文件(可以参考1.0的破解步骤里面的图...

    C#微软培训资料

    <<page 1>> page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 ... 17.2 文件存储管理 .217 ... 17.4 异步文件操作 .227 ... 比尔....这一天 微软公司正式推出了其下一代...

Global site tag (gtag.js) - Google Analytics