Bài đăng này: Đệ quy hay Lặp lại? có thể giúp.
Nói tóm lại, việc tối ưu hóa cuộc gọi đuôi là khó thực hiện trong JVM vì mô hình bảo mật và nhu cầu luôn có sẵn dấu vết ngăn xếp. Những yêu cầu này về lý thuyết có thể được hỗ trợ, nhưng nó có thể sẽ yêu cầu một mã bytecode mới (xem đề xuất không chính thức của John Rose ).
Cũng có nhiều cuộc thảo luận hơn trong Sun bug # 4726340 , nơi kết thúc đánh giá (từ năm 2002):
Tôi tin rằng điều này có thể được thực hiện, nhưng nó không phải là một nhiệm vụ nhỏ.
Hiện tại, có một số công việc đang diễn ra trong dự án Da Vinci Machine . Trạng thái của tiểu dự án cuộc gọi đuôi được liệt kê là "proto 80%"; nó không có khả năng đưa nó vào Java 7, nhưng tôi nghĩ nó có cơ hội rất tốt ở Java 8.