Làm thế nào để triển khai từ khóa dễ bay hơi trong Java?



Java là một chương trình được may mắn với nhiều tính năng. Trong bài viết này, chúng ta sẽ khám phá một tính năng đó là từ khóa biến động trong Java.

là một chương trình được may mắn với nhiều tính năng. Trong bài viết này, chúng ta sẽ khám phá một tính năng đó là từ khóa biến động trong Java. Các gợi ý sau sẽ được đề cập trong bài viết này,

Tiếp tục với bài viết này về Từ khóa dễ bay hơi trong Java.





Từ khóa biến động được sử dụng để sửa đổi giá trị của một biến theo các chủ đề khác nhau. Nó cũng được sử dụng để làm cho các lớp an toàn theo luồng. Nó có nghĩa là nhiều luồng có thể sử dụng một phương thức và thể hiện của các lớp cùng một lúc mà không có vấn đề gì. Từ khóa biến động có thể được sử dụng với kiểu nguyên thủy hoặc các đối tượng.

Thí dụ

Kiểm tra lớp {static int var = 5}

Trong ví dụ trên, giả sử rằng hai luồng đang hoạt động trên cùng một lớp. Cả hai luồng đều chạy trên các bộ xử lý khác nhau trong đó mỗi luồng có bản sao địa phương của var. Nếu bất kỳ luồng nào sửa đổi giá trị của nó, thay đổi sẽ không phản ánh trong luồng ban đầu trong bộ nhớ chính. Nó dẫn đến sự không nhất quán của dữ liệu vì luồng khác không nhận thức được giá trị đã sửa đổi.



Kiểm tra lớp {static variable int var = 5}

Trong ví dụ trên, biến tĩnh là thành viên lớp được chia sẻ giữa tất cả các đối tượng. Chỉ có một bản sao trong bộ nhớ chính. Giá trị của một biến dễ thay đổi sẽ không bao giờ được lưu trong bộ đệm. Tất cả việc đọc và ghi sẽ được thực hiện từ và vào bộ nhớ chính.

Tiếp tục với bài viết này về Từ khóa dễ bay hơi trong Java.

Sự khác biệt giữa đồng bộ hóa và từ khóa biến động

Từ khóa biến động không thay thế cho từ khóa đồng bộ, nhưng nó có thể được sử dụng thay thế trong một số trường hợp nhất định. Có những khác biệt sau như sau:



hướng dẫn thiết kế ui studio android
Từ khóa linh hoạt Từ khóa đồng bộ hóa
Từ khóa đa năng là một công cụ sửa đổi trường.Từ khóa được đồng bộ hóa sửa đổi các khối và phương thức mã.
Chủ đề không thể bị chặn để chờ trong trường hợp có biến động.Chủ đề có thể bị chặn để chờ trong trường hợp đồng bộ hóa.
Nó cải thiện hiệu suất luồng.Các phương thức đồng bộ hóa làm giảm hiệu suất luồng.
Nó đồng bộ hóa giá trị của một biến tại một thời điểm giữa bộ nhớ luồng và bộ nhớ chính.Nó đồng bộ hóa giá trị của tất cả các biến giữa bộ nhớ luồng và bộ nhớ chính.
Các trường biến động không phải tối ưu hóa trình biên dịch.Đồng bộ hóa tùy thuộc vào tối ưu hóa trình biên dịch.

Tiếp tục với bài viết này về Từ khóa dễ bay hơi trong Java.

Thí dụ:

public class VolatileTest {private static final Logger LOGGER = MyLoggerFactory.getSimplestLogger () private static instance int MY_INT = 0 public static void main (String [] args) {new ChangeListener (). start () new ChangeMaker (). start ()} static class ChangeListener mở rộng Thread {@Override public void run () {int local_value = MY_INT while (local_value<5){ if( local_value!= MY_INT){ LOGGER.log(Level.INFO,'Got Change for MY_INT : {0}', MY_INT) local_value= MY_INT } } } } static class ChangeMaker extends Thread{ @Override public void run() { int local_value = MY_INT while (MY_INT <5){ LOGGER.log(Level.INFO, 'Incrementing MY_INT to {0}', local_value+1) MY_INT = ++local_value try { Thread.sleep(500) } catch (InterruptedException e) { e.printStackTrace() } } } } } 

Hình ảnh- Dễ bay hơi-Edureka

Vì vậy, chúng ta đã kết thúc bài viết này về 'Từ khóa dễ bay hơi trong Java'. Nếu bạn muốn tìm hiểu thêm, hãy xem Đào tạo Java của Edureka, một công ty học trực tuyến đáng tin cậy. Edureka's khóa học được thiết kế để đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.