Tôi đã cố gắng tìm kiếm trên web để trả lời câu hỏi của mình. Tôi đã tìm thấy một số tài liệu liên quan đến Project DaVinci. Điều này được gắn thẻ với JSR 292 có liên quan đến việc bao gồm các bao đóng trong JVM. Dự án này có được nhận ra và nó là một phần của Java 8 không?Java 8 có tối ưu hóa cuộc gọi đuôi không?
10
A
Trả lời
9
Theo như tôi biết Java 8 không có tối ưu hóa cuộc gọi đuôi. Afaik nó không liên quan đến thủ thuật biên dịch thực tế, bởi vì đó là một đơn giản, nhưng để bảo vệ một callstack cho mục đích an ninh. Nhưng tôi đoán nó sẽ là có thể với một bytecode rewriter.
4
Java không hỗ trợ TCO ở cấp trình biên dịch nhưng có thể thực hiện nó bằng Java 8 bằng cách sử dụng các biểu thức lambda. Nó được mô tả bởi Venkat Subramaniamin trong "Lập trình chức năng trong Java".
Các vấn đề liên quan
- 1. Pharo có tối ưu hóa cuộc gọi đuôi không?
- 2. Frege có thực hiện tối ưu hóa cuộc gọi đuôi không?
- 3. Tối ưu hóa cuộc gọi đuôi bên cạnh đệ quy đuôi?
- 4. MATLAB có thực hiện tối ưu hóa cuộc gọi đuôi không?
- 5. Tối ưu hóa cuộc gọi đuôi Node.js: có thể hay không?
- 6. Có thể bắt buộc tối ưu hóa cuộc gọi đuôi trên GCC/Clang không?
- 7. Liệu array_walk_recursive có sử dụng tối ưu hóa cuộc gọi đuôi không?
- 8. Có thể tối ưu hóa cuộc gọi đuôi và RAII cùng tồn tại?
- 9. Tại sao tối ưu hóa cuộc gọi đuôi không xảy ra ở đây?
- 10. Tại sao tối ưu hóa cuộc gọi đuôi cần mã op?
- 11. Tại sao mã này ngăn chặn gcc & llvm từ tối ưu hóa cuộc gọi đuôi?
- 12. hiện Babel có cài đặt trước `es2016` có triển khai tối ưu hóa cuộc gọi đuôi không?
- 13. GHC có thể kết nối cuộc gọi tối ưu hóa các hành động IO không?
- 14. Cách tối ưu hóa các cuộc gọi REST API
- 15. Tôi có thể xây dựng một cuộc gọi đuôi được gọi là biểu thức tối ưu đệ quy không?
- 16. Có bất kỳ đuôi đuôi động cơ Javascript nào được tối ưu hóa không?
- 17. Tại sao tối ưu hóa cuộc gọi đuôi không được sử dụng trong chương trình Haskell này?
- 18. Erlang: stackoverflow với chức năng đệ quy mà không phải là đuôi gọi tối ưu hóa?
- 19. Tối ưu hóa Java: biến cục bộ hoặc gọi hàm
- 20. Biên dịch tối ưu hóa cuộc gọi đuôi trong đệ quy lẫn nhau trên C và Haskell
- 21. Liệu F # làm TCO (đuôi gọi tối ưu hóa) với |> Option.bind
- 22. Trạng thái hiện tại của tối ưu hóa cuộc gọi đuôi cho F # trên Mono (2.11) là gì?
- 23. C# biên dịch với đuôi đệ quy tối ưu hóa?
- 24. Scala có hỗ trợ tối ưu đệ quy đuôi không?
- 25. Các chức năng trong JavaScript đuôi có được tối ưu hóa không?
- 26. Java - tối ưu hóa loại SAM
- 27. Trình biên dịch gia đình ML có thực hiện bất kỳ tối ưu hóa tinh vi nào cho các cuộc gọi đuôi không?
- 28. Đây có phải là cuộc gọi đuôi không? (Javascript)
- 29. Java để tối ưu hóa vòng lặp
- 30. Tối ưu hóa tải tối ưu UITableView
Cảm ơn bạn sẽ kiểm tra xem nó ra –
Chỉ cần kiểm tra xem nó ra. Nó thật tuyệt vời. –
Vui lòng trích đoạn trích thích hợp từ sách. – toniedzwiedz