2011-08-16 24 views
7

Gần đây tôi đã học được rằng có lỗi trong JDK7 cho tối ưu hóa trình biên dịch điểm nóng. Xem this thread.JDK7 có an toàn để sử dụng ngay bây giờ không?

Tôi không hiểu rõ chi tiết của các lỗi này, nhưng chúng dường như có liên quan đến tối ưu hóa vòng lặp. Kể từ khi tôi sẽ chạy một số chương trình quy mô lớn trong chế độ máy chủ (trong đó tất nhiên có chứa rất nhiều vòng), tôi tự hỏi liệu nó sẽ được an toàn để sử dụng JDK7 hay không? Cảm ơn bạn.

+0

Câu hỏi đơn giản: Đã được phát hành dưới dạng phiên bản * bị xử phạt chính thức * chưa? Cho đến lúc đó, tôi nghĩ câu trả lời hiển nhiên trong bất kỳ mã quan trọng nào. –

+0

@Hovercraft: bị xử phạt bởi ai? Nó chắc chắn đã được chính thức phát hành bởi Oracle và là tải về mặc định và đặc trưng tại các trang Java của họ. – Thilo

+0

@Thilo: đó không phải là phiên bản Java được đề xuất chính thức mà tôi thấy trên trang tải xuống của họ. Tôi thấy "Bản cập nhật phiên bản 26 được đề xuất 26 (tệp: ~ 11 MB)" –

Trả lời

6

Lỗi tương tự tồn tại trong JDK 6, nhưng vì tối ưu hóa mặc định khác nhau, nó chỉ xuất hiện khi cờ tối ưu hóa tích cực được sử dụng.

Để vô hiệu hóa tối ưu hóa này cho JDK 7 sử dụng các -XX: cờ -UseLoopPredicate và bạn sẽ được an toàn trên bất kỳ phiên bản của JDK 7.

3

Bạn nên bắt đầu kiểm tra mã của bạn với JDK7 bây giờ.

Để biết bạn có muốn đưa sản phẩm vào sản xuất hay không, có thể bạn sẽ luôn an toàn khi chờ một lúc. Điều đó không chỉ áp dụng cho JDK, mà còn cho bất kỳ nâng cấp lớn nào đối với bất kỳ phần mềm chính nào. Hãy để chúng thực hiện cập nhật1 và cập nhật2 và đợi những gì Apache và những người khác phải nói. Bạn không cần phải vội vàng, phải không? JDK6 hoạt động ...

+0

Với tư cách là nhà phát triển, bạn muốn bắt đầu sử dụng các tính năng mới, mặc dù ... – Thilo

+0

bạn * muốn *, nhưng liệu ý tưởng hay không phụ thuộc vào khoảng thời gian trước khi mã của bạn cần đi vào sản xuất. –

Các vấn đề liên quan