Có bất kỳ chi phí nào khi chúng tôi truyền các đối tượng của loại này sang loại khác không? Hoặc trình biên dịch chỉ giải quyết mọi thứ và không mất chi phí khi chạy?Java đúc có giới thiệu chi phí không? Tại sao?
Đây có phải là điều chung hay không?
Ví dụ: giả sử chúng ta có một mảng đối tượng [], trong đó mỗi phần tử có thể có một loại khác nhau. Nhưng chúng ta luôn biết chắc chắn rằng, phần tử 0 là một phần tử Double, phần tử 1 là một String. (Tôi biết đây là một thiết kế sai, nhưng chúng ta hãy giả sử tôi phải làm điều này.)
Thông tin kiểu Java vẫn giữ nguyên trong thời gian chạy? Hoặc tất cả mọi thứ bị lãng quên sau khi biên dịch, và nếu chúng ta làm (Double) các yếu tố [0], chúng ta sẽ chỉ theo con trỏ và giải thích 8 byte đó là gấp đôi, bất kể cái gì?
Tôi không rõ về cách thực hiện các loại trong Java. Nếu bạn có bất kỳ lời khuyên nào về sách hoặc bài viết thì cũng cảm ơn.
Hiệu suất của instanceof và truyền khá tốt. Tôi đã đăng một số thời gian trong Java7 xung quanh các cách tiếp cận khác nhau cho vấn đề ở đây: http://stackoverflow.com/questions/16320014/java-optimization-nitpick-is-it-faster-to-cast-something-and-let-it- throw-excep/28858680 # 28858680 – Wheezil
Câu hỏi khác này có câu trả lời rất tốt http://stackoverflow.com/questions/16741323/casting-performance-in-different-levels-when-casting-down – user454322