Tôi có một cơ sở mã và một số phương pháp không bao giờ được sử dụng. Có javac
xóa các phương thức không được sử dụng khỏi tệp lớp học không?Javac có xóa các phương thức không được tham chiếu trong mã không?
Trả lời
Q: Tôi muốn biết nếu tôi có cơ sở mã và một số phương pháp không bao giờ được sử dụng. Có javac loại bỏ các phương pháp không sử dụng từ các tập tin lớp học?
A: Không. Điều gì xảy ra với lớp học, vẫn nằm trong tệp lớp học.
... tuy nhiên ...
JVM chỉ tải những gì cần thiết vào bộ nhớ. RAM không phải là "lãng phí" trên các lớp không sử dụng.
Không, không. Để xác minh điều này, bạn có thể chạy
javap -c foo.bar.MyClass
và xem tất cả mã ở đó. Bạn cũng có thể truy cập nó thông qua sự phản chiếu (giả sử bạn đang chạy với các điều khoản thích hợp).
Không, không và không thể. Hãy suy nghĩ về những gì sẽ xảy ra nếu trình biên dịch đã làm điều đó khi bạn biên dịch một thư viện. Tất cả các phương thức mà thư viện muốn xuất hiện là xuất cho người dùng nhưng không sử dụng chính nó sẽ bị xóa. Và không có cách nào trong Java để phân biệt giữa thứ gì đó là thư viện và mã của bạn.
- 1. Có thể lấy phương thức tham chiếu trong VB.NET không?
- 2. Tham chiếu phương thức cho các đối số không trống?
- 3. Các tham chiếu tạm thời có được tự động xóa trong Python không?
- 4. Lỗi tham chiếu không xác định cho phương thức mẫu
- 5. Có cách nào để tìm mã không được tham chiếu trong Flex Builder không?
- 6. có thể tham số phương thức truyền đối tượng theo tham chiếu nhưng chỉ đọc không?
- 7. Phương thức khởi tạo phương thức trong các lớp tham chiếu R
- 8. Các tham số Boolean trong phương thức. Tại sao không?
- 9. Không thể tìm thấy lớp 'org.apache.http.entity.mime.content.Filebody', được tham chiếu từ phương thức
- 10. Tham số tham chiếu Javadoc từ phương thức khác
- 11. Các đối số được truyền cho các phương thức theo tham chiếu hay giá trị?
- 12. Mã nguồn của các phương thức gốc có sẵn không?
- 13. Có một tham chiếu tốt hơn cho các công thức r hơn là công thức không?
- 14. Có thể tham chiếu đến một tham số được truyền cho một phương thức trong khối được truyền trong ruby không?
- 15. Trình khởi tạo trường không thể tham chiếu trường, phương thức hoặc thuộc tính không tĩnh?
- 16. Mã đối tượng có được tạo cho các phương thức lớp mẫu không được sử dụng không?
- 17. Có thể lặp qua các tham số của phương thức trong C# không?
- 18. Tại sao một đại biểu không thể tham chiếu đến một phương thức không tĩnh khi được sử dụng trong một phương thức tĩnh?
- 19. Xác minh mã tĩnh cho các tham chiếu đối tượng rỗng có sẵn có sẵn không?
- 20. Làm cách nào để tham chiếu một phương thức trong một tệp mã Ruby khác?
- 21. Các lớp dự án EJB được tham chiếu không được tìm thấy trong dự án Web (tham chiếu)
- 22. Có thể tham chiếu trong JSON không?
- 23. C# Chỉ định tham số phương thức không được rỗng
- 24. Không thể tìm thấy phương pháp XXX, được tham chiếu từ phương pháp YYY
- 25. "phương pháp không tĩnh không thể được tham chiếu từ một bối cảnh tĩnh" lỗi
- 26. Có thể cache các phương thức POST trong HTTP không?
- 27. Các đối tượng trong PHP có được chuyển qua giá trị hoặc tham chiếu không?
- 28. Bắt giữ tham chiếu đến đối tượng được tạo bởi các phương thức tĩnh JOptionPane
- 29. Tại sao các Tham chiếu Phantom không bị xóa khi chúng được enqueued?
- 30. Đối tượng tạm thời có bị xóa nếu không có tham chiếu const nào không?
Không nếu phương pháp là 'công khai', tôi nên hy vọng. –
@larsmans: Tại sao nó đặc biệt cho 'công khai'? Có phải vì một số mã khác có thể đang sử dụng chúng không? Bạn có thể xây dựng? – noMAD