根據java class文件看是哪個版本的jdk編譯的

ps

今天發現一篇不得不轉的博客,真的是太牛叉了(ba wo hu you zhu le)

原文鏈接

https://wwwcomy.iteye.com/blog/2423390

內容

NotePad++ 32位 hex editor下載地址:


https://sourceforge.net/projects/npp-plugins/files/Hex Editor/



打開class文件後使用ctrl+shift+alt+H:







能看到前32bit爲magic number : ca fe ba be

接下來的32bit爲minor version:major version  00 00 00 33

16進制的33換算成10進制 3*16+3=51



版本列表如下:

16進制:

  33:JDK1.7

  32:JDK1.6

  31:JDK1.5

  30:JDK1.4

  2F:JDK1.3

2進制:

Java 1.2 uses major version 46

Java 1.3 uses major version 47

Java 1.4 uses major version 48

Java 5 uses major version 49

Java 6 uses major version 50

Java 7 uses major version 51

Java 8 uses major version 52

Java 9 uses major version 53

Java 10 uses major version 54



可以使用命令查看

javap -verbose MyClass  


編譯java時候使用 -source -target參數指定版本, maven中使用maven-compiler-plugin指定source和target版本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章