Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 16249|Ответ: 0

[Чаевые] Необходимо для эффективной работы Java: StringBuffer эффективнее String

[Скопировать ссылку]
Опубликовано 06.11.2014 10:58:08 | | | |

Строка — самая вероятная переменная, используемая в программировании на Java, возможно, вы думаете, что нечего сказать, просто возьмите её, но обработка строк особенно требует нашего внимания, потому что случайное создание большого количества экземпляров строк создаёт серьёзные проблемы с эффективностью системы.

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

Наш учитель сказал: Каждый раз, когда добавляется String, он снова и снова запрашивает пространство из памяти, что очень неэффективно

                     Каждый раз, когда добавляется 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. }
Копирование кода






Предыдущий:Загрузка пакета совместимости Office System 2007 года
Следующий:Говоря о тестировании совместимости программного обеспечения
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com