Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 16249|Απάντηση: 0

[Συμβουλές] Απαραίτητο για την αποτελεσματική λειτουργία της Java: Το StringBuffer είναι πιο αποτελεσματικό από το String

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 6/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 2007
Επόμενος:Μιλώντας για δοκιμές συμβατότητας λογισμικού
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com