Câu hỏi Danh sách các định dạng tập tin lớp Java số phiên bản chính?


Tôi đã thấy danh sách các số phiên bản chính của Java trong một bài đăng khác:

  • Java 1.2 sử dụng phiên bản chính 46
  • Java 1.3 sử dụng phiên bản chính 47
  • Java 1.4 sử dụng phiên bản chính 48
  • Java 5 sử dụng phiên bản chính 49
  • Java 6 sử dụng phiên bản chính 50
  • Java 7 sử dụng phiên bản chính 51
  • Java 8 sử dụng phiên bản chính 52
  • Java 9 sử dụng phiên bản chính 53
  • Java 10 sử dụng phiên bản chính 54
  • Java 11 sử dụng phiên bản chính 55

Tham khảo:

https://blogs.oracle.com/darcy/entry/source_target_class_file_version https://en.wikipedia.org/wiki/Java_class_file#General_layout


76
2018-02-07 04:01


gốc


Thật thú vị khi thấy nó được liệt kê như thế. - Bill
Hou có thể thêm 54 cho Java SE 10 chỉ cần relased - user1708042
Vui lòng thêm phiên bản chính 55 cho Java 11 - Boris


Các câu trả lời:


Chúng đến từ phiên bản lớp. Nếu bạn cố gắng tải một cái gì đó biên dịch cho java 6 trong một thời gian chạy java 5 bạn sẽ nhận được lỗi, phiên bản lớp không tương thích, có 50, dự kiến ​​49. Hoặc một cái gì đó như thế.

Xem đây trong bù đắp byte 7 để biết thêm thông tin.

Thông tin bổ sung cũng có thể được tìm thấy đây.


30
2018-02-07 04:05



Có cách nào để lặp lại số phiên bản chính (phiên bản lớp) trực tiếp từ javac, mà không sử dụng một lớp học hiện có, javap -verbose MyClass? - samsara


Tôi đã tìm thấy danh sách các phiên bản tệp lớp Java trên trang Wikipedia mô tả định dạng tệp lớp:

http://en.wikipedia.org/wiki/Java_class_file#General_layout

Theo byte offset 6 & 7, các phiên bản được liệt kê với Java VM mà chúng tương ứng.


17
2017-11-16 20:16