Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 16249|Відповідь: 0

[Чайови] Важливо для ефективної роботи Java: StringBuffer є ефективнішим за String

[Копіювати посилання]
Опубліковано 06.11.2014 10:58:08 | | | |

String — це найімовірніша змінна, що використовується в програмуванні на Java, можливо, ви думаєте, що нема що сказати, просто підхопіть її, але обробка рядків особливо потребує нашої уваги, бо випадкове створення великої кількості екземплярів рядків створює серйозні проблеми з ефективністю системи.

Наприклад, проведемо тест для порівняння ефективності виконання класу String і StringBuffer:

Наш учитель сказав: Кожного разу, коли додається рядок, він знову і знову запитує проміжок у пам'яті, що дуже неефективно

                     Кожного разу, коли додається StringBuffer, немає потреби одразу запитувати простір у пам'яті, оскільки StringBuffer запитує багато пам'яті з самого початку, тому він дуже ефективний.



  1. import java.util.Date;






  2. public class test {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // 武软论坛 www.itsvse.com
  8.                 Date da=new Date();
  9.                 System.out.println(da.toLocaleString());
  10.                 System.out.println("系统时间");
  11.                
  12.                 String str1="1";
  13.                 for(int i=1;i<100000;i++){
  14.                         str1=str1+"1";
  15.                 }
  16.                 da=new Date();
  17.                 System.out.println(da.toLocaleString());
  18.                 System.out.println("String运行完时间");
  19.                
  20.                 StringBuffer str2=new StringBuffer(1000);
  21.                
  22.                 for(int i=1;i<100000;i++){
  23.                         str2.append("1");
  24.                 }
  25.                 da=new Date();
  26.                 System.out.println(da.toLocaleString());
  27.                 System.out.println("StringBuffer运行完时间");
  28.                
  29.         }

  30. }
Копія коду






Попередній:Завантаження пакету сумісності з офісною системою 2007 року
Наступний:Говорячи про тестування сумісності програмного забезпечення
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com