Điều không rõ ràng đối với tôi về những gì bạn đang cố gắng đạt được. Vì vậy, tôi đoán rằng bạn đang cố gắng để đảm bảo rằng mã của bạn là 100% Java 1.4 tương thích, trong khi cũng cố gắng và tận dụng các cải tiến (giả thuyết) trong trình biên dịch Java bytecode 1.5. Cách đơn giản là thực hiện hai bản dựng:
Tạo bằng Java 1.4 để kiểm tra xem mã của bạn có tương thích với thư viện Java 1.4 không.
Xây dựng lần thứ hai bằng cách sử dụng Java 1.5 với nguồn 1.4 và mục tiêu 1.4.
Bắt là thao tác này chỉ phát hiện các lỗi tĩnh API không khớp hoặc nơi không tương thích trong hành vi lớp chứ không phải chữ ký.
Điều khác cần lưu ý là biên dịch Java trên nền tảng mới để chạy trên nền tảng cũ không có khả năng giúp ... nếu đó là những gì bạn đang cố gắng đạt được.
Trình biên dịch bytecode Java không tối ưu hóa nhiều và do đó bản phát hành mới hơn sẽ không tạo ra bytecode nhanh hơn đáng kể.
Trình biên dịch JIT có thể cải thiện đáng kể từ bản phát hành này sang bản phát hành tiếp theo, nhưng trình biên dịch JIT là một phần của nền tảng thực thi.
Nơi khác, nơi cải tiến hiệu suất có thể xảy ra là trong việc triển khai các thư viện lớp Java và đây cũng là một phần của nền tảng thực thi.
Tóm lại, nếu bạn biên dịch mã với trình biên dịch JDK 1.5 javac
, bạn sẽ không nhận được lợi ích của cải tiến hiệu suất trong Java 1.5.
Nguồn
2010-06-09 06:04:42