Tôi muốn viết một số mã xử lý sự cố mà tôi có thể dễ dàng loại bỏ sau này không gỡ lỗi các phiên bản của chương trình của tôi. Tôi đã đưa ra:Làm thế nào thông minh là Java về nếu các báo cáo với các biến cuối cùng
final static boolean debug_on=true;
...
if (debug_on) { system.out.println() or logger.log(...) }
Java đủ thông minh để hủy câu lệnh if từ bytecode cuối cùng nếu debug == false?
Có cách nào tốt hơn để đạt được mục tiêu giữ mã gỡ lỗi ra khỏi phiên bản cuối cùng của chương trình không?
bạn đã kiểm tra mã byte chưa? – PermGenError
Điều này có vẻ dễ dàng để kiểm tra - biên dịch, và sau đó sử dụng javap để xem bytecode. (Tôi hy vọng nó sẽ được tối ưu hóa bởi JIT, chứ không phải javac) –
Có thực sự đáng được tối ưu hóa điều này (thử nghiệm) bằng cách sử dụng một biến cuối cùng? Thông thường, một sử dụng một khung đăng nhập, và sau đó viết các câu lệnh như 'if (log.isDebugEnabled()) log.debug (" blah "+ x);'. Phép thử được thực hiện mỗi lần nhưng '" blah "+ x' không được đánh giá. –