Mục lục:
Định nghĩa - Volility có nghĩa là gì?
Volility là một từ khóa trong ngôn ngữ lập trình java, chỉ định rằng một biến thành viên được liên kết với một lớp có thể được thay đổi không đồng bộ bởi nhiều luồng. Từ khóa dễ bay hơi trong mã đóng vai trò là công cụ sửa đổi khi một thành viên được khai báo. Từ khóa là những từ dành riêng về cơ bản với ý nghĩa riêng biệt trong ngữ cảnh của trình biên dịch.
Từ khóa dễ bay hơi được sử dụng bất cứ khi nào biến có nghĩa là một loại biến phụ thuộc vào môi trường hoặc hệ thống, chẳng hạn như bộ đếm và đồng hồ đơn giản.
Techopedia giải thích dễ bay hơi
Từ khóa dễ bay hơi đảm bảo rằng mỗi lần truy cập đọc vào một biến thành viên sẽ trả về giá trị gần đây nhất của nó. Điều này không hiệu quả khi những thay đổi gần đây được thực hiện bằng cách sử dụng một luồng khác. Nếu một biến thành viên không được khai báo là không ổn định, một luồng sẽ không thể nhận ra các sửa đổi được thực hiện cho nó bằng một luồng khác.
Đối với thành viên kép hoặc dài, từ khóa dễ bay hơi cũng đảm bảo rằng máy ảo sẽ không tạo ra hai lần ghi 32 bit liên tiếp, nhưng sẽ chỉ tạo ra một lần ghi 64 bit. Nếu điều này là không khả thi, việc triển khai JVM tiếp tục đảm bảo tính nguyên tử của chức năng này để nửa dưới cũ sẽ không được đọc với nửa cao mới của một số gấp đôi hoặc dài dễ bay hơi.
Viết và đọc dễ bay hơi thiết lập một mối quan hệ xảy ra trước khi. Trước khi một đối tượng dễ bay hơi được truy cập, sự đồng bộ hóa xảy ra giữa bộ nhớ chính và các biến được lưu trong bộ nhớ cache, giống như nó xảy ra trước khi vào hoặc sau khi rời khỏi một khối được đồng bộ hóa. Điều này ngụ ý rằng một đối tượng dễ bay hơi có thể được xuất bản một cách an toàn mà không cần đồng bộ hóa; nghĩa là, khi một đối tượng dễ bay hơi được truy cập bởi một luồng, các thành viên của đối tượng đó cũng được cập nhật.
Khi một biến được mô tả là không ổn định, trình biên dịch JVM và Java thực hiện hai điều sau đây.
- Trình biên dịch không tối đa hóa các câu lệnh và biểu thức liên quan đến biến đó.
- JVM đồng bộ hóa biến.
Những lợi thế của dễ bay hơi như sau:
- Nó nhẹ
- Nó gây ra một chi phí rất nhỏ để đọc và viết, nhưng vẫn nhanh hơn khóa.
- Dễ bay hơi có khả năng chống lại ổ khóa chết.
