Tôi đã sử dụng newInstance()
trong một loại khu vực quan trọng về hiệu suất của mã của tôi. Chữ ký phương pháp là:Hiệu suất của toán tử mới so với newInstance() trong Java
<T extends SomethingElse> T create(Class<T> clasz)
tôi vượt qua Something.class
như là đối số, tôi nhận được một thể hiện của SomethingElse
, tạo ra với newInstance()
.
Hôm nay tôi đã quay lại để xóa TODO hiệu suất này khỏi danh sách, vì vậy tôi đã chạy một vài thử nghiệm của nhà điều hành new
so với newInstance()
. Tôi đã rất ngạc nhiên với hình phạt hiệu suất của newInstance()
.
tôi đã viết một chút về nó, ở đây: http://biasedbit.com/new-vs-newinstance/
(. Xin lỗi về việc thúc đẩy tự ... Tôi muốn đặt văn bản ở đây, nhưng câu hỏi này sẽ phát triển ra khỏi tỷ lệ)
gì Tôi muốn biết lý do tại sao cờ -server
cung cấp tăng hiệu suất như vậy khi số đối tượng được tạo tăng lên phần lớn và không cho giá trị "thấp", ví dụ: 100 hoặc 1000.
Tôi đã học bài học của mình toàn bộ điều phản xạ, đây chỉ là sự tò mò về các tối ưu hóa mà JVM thực hiện trong thời gian chạy, espec ially với cờ -server
. Ngoài ra, nếu tôi làm điều gì sai trong bài kiểm tra, tôi sẽ đánh giá cao phản hồi của bạn!
Chỉnh sửa: Tôi đã thêm giai đoạn khởi động và kết quả hiện ổn định hơn. Cảm ơn các đầu vào!
Liên kết bị hỏng:/ –
Tôi đã khắc phục! – biasedbit
Bài đăng trên blog đã [chuyển lại] (http://biasedbit.com/blog/new-vs-newinstance). –