Khi làm việc với các dữ liệu văn bản, Java cung cấp cho bạn 3 class string, stringBuffer và stringBuilder. Nếu làm việc với các dữ liệu lớn bạn nên sử dụng stringBuffer hoặc stringBuilder để đạt hiệu năng nhanh nhất. Về cơ bản 3 class này có nhiều điểm giống nhau, và điểm khác biệt giữa string với stringbuffer và stringbuilder là:
Còn stringBuilder và stringBuffer là giống nhau, nó chỉ khác biệt tình huống sử dụng có liên quan tới đa luồng (Multi Thread):
- string là không thể thay đổi (immutable) nghĩa là khi một giá trị được gắn vào biến string đồng nghĩa với việc nó sẽ được lưu trữ tại một vùng nào đó trên bộ nhớ và khi ta thây đổi giá trị của biến này thì đồng nhĩa với việc giá trị mới sẽ được lưu trữ tại một vùng nhớ khác mà không phải ở vùng nhớ trước đó việc này sẽ làm giảm hiệu xuất của chương trình Java.
- stringbuffer và stringbuilder thì ngược lại nó cho phép thay đổi (mutable) giá trị của biến stringbuffer hoặc stringbuilder tại chính vùng nhớ chứa giá trị của biến.
Còn stringBuilder và stringBuffer là giống nhau, nó chỉ khác biệt tình huống sử dụng có liên quan tới đa luồng (Multi Thread):
- Nếu xử lý văn bản sử dụng nhiều luồng (Thread) thì nên sử dụng StringBuffer để tránh tranh chấp giữa các luồng.
- Nếu xử lý văn bản sử dụng 1 luồng (Thread) thì nên sử dụng StringBuilder.
No comments:
Post a Comment