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

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

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

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

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

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

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