Hiệu suất cao
Trong khi hiệu suất của các bytecodes được biên dịch thường nhiều hơn là đủ, có các tình huống nơi hiệu suất
cao hơn được yêu cầu. Các bytecodes có thể được dịch tại runtime thành mã máy cho CPU cụ thể ứng dụng đang chạy
trên.
Trong những năm đầu của Java, nhiều người dùng không đồng ý với phát biểu rằng hiệu suất là nhiều hơn đủ. Ngày
nay, tuy nhiên, các trình dịch just-in-time đã trở nên tốt đến nỗi rằng chúng là cạnh tranh với các trình dịch
truyền thống và, trong một vài trường hợp, thậm chí vượt chúng vì chúng có nhiều thông tin hơn có sẵn. Ví dụ,
một trình dịch just-in-time có thể giám sát code nào được thực thi thường xuyên và tối ưu hóa code đó cho tốc độ.
Một tối ưu hóa tinh vi hơn là loại trừ các lời gọi hàm. Trình dịch just-in-time biết các classes nào vừa được load.
Nó có thể sử dụng inlining khi, dựa trên bộ các classes load hiện tại, một hàm cụ thể không bao giờ bị ghi đè, và
nó có thể đảo ngược tối ưu hóa sau này nếu cần thiết.
