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