Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 16249|Отговор: 0

[Бакшиши] Съществено за ефективната работа на Java: StringBuffer е по-ефективен от String

[Копирай линк]
Публикувано в 6.11.2014 г. 10:58:08 ч. | | | |

String е най-вероятната променлива, използвана в 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