sách gpt4 ai đã đi

Các tệp lớp JDK 7 tương thích ngược với JDK 6

In lại Tác giả: IT Lao Gao Thời gian cập nhật: 2023-10-28 21:13:13 26 4
mua khóa gpt4 Nike

Tính năng nào của JDK 7 (trừ invokedynamic vì java không sử dụng tính năng này) khiến phiên bản tệp lớp mới không tương thích với JDK 6? Có vẻ như tất cả các tính năng đều có thể được triển khai bằng mã keo do trình biên dịch tạo ra. Ví dụ, chuỗi trong câu lệnh switch có thể được triển khai bằng cách sử dụng các câu lệnh ifeq lặp lại do trình biên dịch tạo ra. Tôi muốn có thể cung cấp các cờ -source 1.7 -target 1.6 cho trình biên dịch để tuân thủ jre 6 và đồng thời sử dụng tính năng coin của dự án từ jdk 7.

1 Câu trả lời

Tôi chưa xem mã nguồn của trình biên dịch, nhưng một số tính năng mới dường như có tác động đến mã byte.

"Gọi phương thức varargs đơn giản" thực chất chỉ là một cách loại bỏ cảnh báo, nhưng nó phải để lại một số dấu hiệu trong mã byte để mã máy khách có thể hiển thị cảnh báo theo cách khác.

Mã được tạo ra bởi "Try-with-resources" có thể xử lý các ngoại lệ thông thường cũng như ngoại lệ thứ hai được đưa ra trong khối finally. Các ngoại lệ bổ sung sử dụng mới thêmBị Ức Chế() kho. phương pháp. Đây không hẳn là sự thay đổi về định dạng tệp lớp, nhưng rõ ràng là nó sẽ không hoạt động với các VM cũ hơn.

"Multi-catch" cũng tạo ra mã bytecode hơi khác so với bất kỳ trình biên dịch nào trước đó. Nhiều mục trong bảng ngoại lệ bây giờ sẽ trỏ tới cùng một nội dung bắt.

Liên quan đến java - các tệp lớp JDK 7 tương thích ngược với JDK 6, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/6699347/

26 4 0
CNTT Lao Gao
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com