Middle
StringBuilder və StringBuffer arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
StringBuilder və StringBuffer Java-da sətirləri yaratmaq və dəyişdirmək üçün istifadə olunur, lakin əsas fərqlərə malikdirlər:
-
İş Parçacığı Təhlükəsizliyi (Thread Safety):
StringBufferiş parçası təhlükəsizdir. Onun metodları sinxronizasiya olunub, bu onu çox iş parçası mühitlərinə uyğun edir, lakin performansı yavaşladır.StringBuilderiş parçası təhlükəsiz deyil. Onun metodları sinxronizasiya olunmayıb, bu onu tək iş parçası mühitlərindəStringBuffer-dən daha sürətli edir.
-
Performans:
StringBuilderadətənStringBuffer-dən daha sürətli işləyir, çünki sinxronizasiya xərcləri yoxdur.
-
İstifadə:
- Əgər tək iş parçası mühitində işləyirsinizsə və ya iş parçası təhlükəsizliyinə ehtiyac yoxdursa, daha yaxşı performans üçün
StringBuilderistifadə edin. - Əgər çox iş parçası mühitində iş görürsünüzsə və iş parçası təhlükəsizliyi tələb olunursa,
StringBufferistifadə olunmalıdır.
- Əgər tək iş parçası mühitində işləyirsinizsə və ya iş parçası təhlükəsizliyinə ehtiyac yoxdursa, daha yaxşı performans üçün
İstifadə nümunəsi:
// StringBuffer istifadə (iş parçası təhlükəsiz)
StringBuffer strBuffer = new StringBuffer("Hello");
strBuffer.append("World");
System.out.println(strBuffer); // Nəticə: HelloWorld
// StringBuilder istifadə (iş parçası təhlükəsiz deyil, tək iş parçası mühitində daha sürətli)
StringBuilder strBuilder = new StringBuilder("Hello");
strBuilder.append("World");
System.out.println(strBuilder); // Nəticə: HelloWorld