sách gpt4 ăn đã đi

Tối ưu hóa phương thức tĩnh/thể hiện Java

In lại Tác giả: Walker 123 Thời gian cập nhật: 29-11-2023 08:44:45 28 4
mua khóa gpt4 giày nike

Trong Java nó làChưa sửa đổibiến phương thức, bị thiếucuối cùng, khởi tạo lại vòng loại mỗi lần

  1. phương pháp tĩnh
  2. phương thức ví dụ

Nếu câu trả lời cho 1. hoặc 2. (hoặc cả hai) là cuối cùng Trình định tính cho phép Java thực hiện tối ưu hóa và lưu trữ các biến phương thức chỉ một lần?

Nếu câu trả lời phụ thuộc vào loại biến, biến đó có được tối ưu hóa/không được tối ưu hóa không? Ví dụ, là Sợi dâysố nguyên tối ưu hóa Bản đồ Không được tối ưu hóa?

Ngược lại, Java chỉ lưu trữ một biến lớp tĩnh như

private static final String foo = "Ninja Rùa Đột Biến Tuổi Teen";

một lần. Để làm rõ: câu hỏi là liệu có nên

1:

tĩnh SomeReturnValueOrVoid SomeMethod() {
// 1.a Không sửa đổi, liệu mỗi lần gọi phương thức có được khởi tạo lại không?
Chuỗi foo = "Ninja Rùa Đột Biến Tuổi Teen";

// 1.b Được đánh dấu là cuối cùng, liệu mỗi lần gọi phương thức có được khởi tạo lại không?
Thanh chuỗi cuối cùng = "Rùa anh hùng đột biến tuổi teen";
}

2:

SomeReturnValueOrVoid SomeMethod() { // không tĩnh
// 2.a Không sửa đổi, liệu có khởi tạo lại mỗi lần gọi phương thức không?
Chuỗi foo = "Ninja Rùa Đột Biến Tuổi Teen";

// 2.b Được đánh dấu là cuối cùng, liệu mỗi lần gọi phương thức có được khởi tạo lại không?
Thanh chuỗi cuối cùng = "Rùa anh hùng đột biến tuổi teen";
}

Tương đương với

3:

lớp SomeClass {
static final String foo = "Ninja Rùa Đột Biến Tuổi Teen";

Một số phương thức trả về hoặc vô hiệu
// Sử dụng foo
}

tĩnh SomeReturnValueOrVoid SomeMethod() {
// Sử dụng foo
}

...
}

câu trả lời hay nhất

Cho dù đó là tĩnh Phương pháp vẫn cuối cùng biến hoặc cả hai, không có sự khác biệt. Phạm vi của các biến cục bộ có nghĩa là việc gán này sẽ diễn ra mọi lúc (ngoại trừ việc tối ưu hóa*).

Tuy nhiên, khi nói đến các chuỗi trong ví dụ của bạn, các chuỗi này sẽ đến từ hồ bơi dây .vì vậy việc chuyển nhượng sẽ diễn ra mọi lúc, nhưng tất cả đều sẽ tham chiếu giống nhau sợi dây Ví dụ.

*tối ưu hóa - Trình biên dịch JITCác giá trị có thể được nội tuyến, do đó, mỗi giải pháp có thể chạy nhanh như giải pháp kia. Do đó, bạn không nên cố gắng tối ưu hóa vi mô bản thân trừ khi bạn nhận thức được các vấn đề về hiệu suất thực tế.

Về tối ưu hóa phương thức tĩnh/phiên bản Java, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/37157002/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress