Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 16249|Vastaus: 0

[Vinkkejä] Välttämätön Javan tehokkaalle toimimiselle: StringBuffer on tehokkaampi kuin String

[Kopioi linkki]
Julkaistu 6.11.2014 10.58.08 | | | |

Merkkijono on todennäköisin muuttuja, jota käytetään Java-ohjelmoinnissa, ehkä ajattelet, ettei ole mitään sanottavaa, vaan ota se vastaan, mutta merkkijonojen käsittely vaatii erityisesti huomiota, koska satunnainen määrä merkkijonoinstansseja aiheuttaa suuria ongelmia järjestelmän tehokkuudelle.

Esimerkiksi tehdään testi vertaillaksemme String-luokan ja StringBufferin suoritustehokkuutta:

Opettajamme sanoi: Joka kerta kun String lisätään, se pyytää tilaa muistista yhä uudelleen, mikä on hyvin tehotonta

                     Joka kerta kun StringBuffer lisätään, ei tarvitse pyytää tilaa muistista kerralla, koska StringBuffer vaatii paljon muistia alusta alkaen, joten se on erittäin tehokasta.



  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. }
Kopioi koodi






Edellinen:2007 Office System Compatibility Pack -lataus
Seuraava:Puhutaan ohjelmistoyhteensopivuustestauksesta
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com