北大青鳥校區(qū)學(xué)員:Java初始化方向?qū)W習(xí)總結(jié)

大家好,我是北京北大青鳥校區(qū)ACCP課程的一名學(xué)員,現(xiàn)在學(xué)習(xí)Java已經(jīng)有一段時(shí)間。今天,我把這段學(xué)習(xí)期間的收獲與總結(jié)寫出來,希望與各位同學(xué)共享,讓我們共同努力。

作為初始化的一種具體操作形式,構(gòu)建器應(yīng)使大家明確感受到在語言中進(jìn)行初始化的重要性。與C++的程序設(shè)計(jì)一樣,判斷一個(gè)程序效率如何,關(guān)鍵是看是否由于變量的初始化不正確而造成了嚴(yán)重的編程錯(cuò)誤(臭蟲)。這些形式的錯(cuò)誤很難發(fā)現(xiàn),而且類似的問題也適用于不正確的清除或收尾工作。由于構(gòu)建器使我們能保證正確的初始化和清除(若沒有正確的構(gòu)建器調(diào)用,編譯器不允許對象創(chuàng)建),所以能獲得完全的控制權(quán)和安全性。(北京北大青鳥校區(qū))

在C++中,與“構(gòu)建”相反的“破壞”(Destruction)工作也是相當(dāng)重要的,因?yàn)橛胣ew創(chuàng)建的對象必須明確地清除。在Java中,垃圾收集器會自動(dòng)為所有對象釋放內(nèi)存,所以Java中等價(jià)的清除方法并不是經(jīng)常都需要用到的。如果不需要類似于構(gòu)建器的行為,Java的垃圾收集器可以極大簡化編程工作,而且在內(nèi)存的管理過程中增加更大的安全性。有些垃圾收集器甚至能清除其他資源,比如圖形和文件句柄等。然而,垃圾收集器確實(shí)也增加了運(yùn)行期的開銷。但這種開銷到底造成了多大的影響卻是很難看出的,因?yàn)榈侥壳盀橹梗琂ava解釋器的總體運(yùn)行速度仍然是比較慢的。隨著這一情況的改觀,我們應(yīng)該能判斷出垃圾收集器的開銷是否使Java不適合做一些特定的工作(其中一個(gè)問題是垃圾收集器不可預(yù)測的性質(zhì))。

由于所有對象都肯定能獲得正確的構(gòu)建,所以同這兒講述的情況相比,構(gòu)建器實(shí)際做的事情還要多得多。特別地,當(dāng)我們通過“創(chuàng)作”或“繼承”生成新類的時(shí)候,對構(gòu)建的保證仍然有效,而且需要一些附加的語法來提供對它的支持。北京北大青鳥校區(qū)學(xué)術(shù)部老師將在以后的章節(jié)里詳細(xì)的為我們講解創(chuàng)作、繼承以及它們對構(gòu)建器造成的影響。

雖然我在北京北大青鳥校區(qū)的學(xué)習(xí)時(shí)間還不長,但是在老師的細(xì)心講解下,我已經(jīng)對Java技術(shù)有了一定的了解,也深深喜歡上了這個(gè)技術(shù)。今后,我將繼續(xù)配合老師,不斷的獲取新知識,用技術(shù)武裝自己,為將來的就業(yè)提前做好準(zhǔn)備。

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡章