Giải thích về lazy initialization trong Kotlin.
Giải thích về lazy initialization trong Kotlin.
Trong Kotlin, khởi tạo lười biếng () là một kỹ thuật cho phép khởi tạo một thuộc tính chỉ khi nó được truy cập lần đầu tiên, thay vì tại thời điểm khởi tạo đối tượng. Điều này giúp tối ưu hóa hiệu suất ứng dụng bằng cách trì hoãn việc khởi tạo tài nguyên tốn kém hoặc không cần thiết cho đến khi thực sự cần đến chúng.
Để sử dụng khởi tạo lười biếng trong Kotlin, bạn có thể sử dụng từ khóa lazy
. lazy
là một hàm nhận vào một lambda và trả về một instance của Lazy<T>
, nơi T
là kiểu dữ liệu của thuộc tính. Thuộc tính được khai báo với lazy
sẽ chỉ được khởi tạo một lần, vào lần đầu tiên nó được truy cập, và giá trị của nó sẽ được lưu lại cho các lần truy cập sau.
Ví dụ:
val myLazyValue: String by lazy {
println("Computing the value...")
"Hello, World!"
}
Trong ví dụ trên, myLazyValue
là một thuộc tính được khởi tạo lười biếng. Mã trong lambda chỉ được thực thi khi myLazyValue
được truy cập lần đầu tiên. Các lần truy cập sau đó sẽ sử dụng giá trị đã được tính toán và lưu lại từ lần đầu.
Khởi tạo lười biếng rất hữu ích trong các trường hợp như khởi tạo các đối tượng tốn kém về tài nguyên, thực hiện các thao tác I/O, hoặc khi giá trị của thuộc tính phụ thuộc vào một số điều kiện không sẵn có tại thời điểm khởi tạo đối tượng.
Ngoài ra, khởi tạo lười biếng trong Kotlin được đảm bảo là an toàn với luồng (thread-safe) theo mặc định, điều này có nghĩa là bạn không cần phải lo lắng về các vấn đề đồng bộ hóa khi sử dụng nó trong môi trường đa luồng[1][2][4][5][9][11].
Citations...
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào