學(xué)習(xí)java程序入門并不難,難的是對java的精髓的理解。重要的是對于那些基本的東西要吃透,能夠舉一反三、融會貫通。
學(xué)習(xí)java也是一樣的,要不斷對基本知識的反復(fù)學(xué)習(xí)、重復(fù)練習(xí)、參悟才能從感性認識上升到理性認識。學(xué)習(xí)String類是很枯燥的。但學(xué)好String類實在太重要了,千萬不要掉以輕心或者是只做膚淺的了解。
對于String類的連接在需要連接的對象不多的情況下利用”+“操作符無可厚非,但是如果需要反復(fù)進行連接的那就要考慮java程序的性能了,因為內(nèi)存對于java虛擬機來說實在太貴了,java虛擬機里維護著一個叫java堆棧的內(nèi)存區(qū),它的容量并不是你計算機上內(nèi)存條的容量,要比內(nèi)存小得多,如果你反復(fù)運用"+"操作符連接字符串、或者是不斷往鏈表(List的實現(xiàn)類如ArrayListLinkedList)里面加入對象、或者是反復(fù)生成對象(實例),那么要不了多久java虛擬機就會拋出StackOverFlowError錯誤而徹底崩潰。
對于使用+操作符對字符串每連接一次就會生成一個新的字符串對象,因此會耗費一定的內(nèi)存。解決辦法是使用字符串緩存類StringBuffer類或者是StringBuilder類,這兩個類的差別不大,唯一的差別是StringBuffer類是線程安全的(thread save)而StringBuilder類是非線程安全的(none thread save).
使用StringBuffer對象可以:1、追加字串;2、追加基本的數(shù)據(jù)類型;3、查找字串的位置;4、替換緩沖區(qū)中的字串;5、插入字串;6、從可變字符串中提取字符;7、對可變字符串的其他操作-對點刪除、翻轉(zhuǎn);對于使用鏈表存儲對象,如果需要存儲大量改用數(shù)據(jù)庫。要么你的程序在寫入和讀取方面做優(yōu)化,例如如果已經(jīng)讀取的數(shù)據(jù)已經(jīng)不需要的了那么就應(yīng)該使用List/ArrayList類的remove(int)方法,讀取的同時刪除。
學(xué)習(xí)java程序如何入門?學(xué)習(xí)java程序入門并不難,只要你選擇一所好的java培訓(xùn)學(xué)校,選擇很重要,選擇大于努力。