資源描述:
《一個(gè)java牛人給java初學(xué)者的建議》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、一個(gè)牛人給java初學(xué)者的建議給初學(xué)者之一:淺談java及應(yīng)用學(xué)java不知不覺(jué)也已經(jīng)三年了從不知java為何物到現(xiàn)在一個(gè)小小的j2ee項(xiàng)目經(jīng)理雖說(shuō)不上此道高手,大概也算有點(diǎn)斤兩了吧每次上網(wǎng),泡bbs逛論壇,沒(méi)少去java相關(guān)的版面總體感覺(jué)初學(xué)者多,高手少,精通的更少由于我國(guó)高等教育制度教材陳舊,加上java自身發(fā)展不過(guò)十年左右的時(shí)間還有一個(gè)很重要的原因就是java這門(mén)語(yǔ)言更適合商業(yè)應(yīng)用所以高校里大部分博士老師們對(duì)此語(yǔ)言的了解甚至不比本科生多在這種環(huán)境下,很多人對(duì)java感到茫然,不知所措,不懂java能做什么即便知道了java很有用,也不清楚該從哪里入手所
2、以就有了java入門(mén)難這一說(shuō)法ok,那我們就從java到底能做什么聊起先說(shuō)什么是javajava是一種面向?qū)ο笳Z(yǔ)言,真正的面向?qū)ο?,任何函?shù)和變量都以類(lèi)(class)封裝起來(lái)至于什么是對(duì)象什么是類(lèi),我就不廢話(huà)了關(guān)于這兩個(gè)概念的解釋任何一本面向?qū)ο笳Z(yǔ)言的教材里面都有知道了什么是java,那自然就會(huì)對(duì)java能干什么感興趣在說(shuō)java能做什么之前,先說(shuō)java作為一個(gè)真正面向?qū)ο笳Z(yǔ)言的優(yōu)點(diǎn)首先第一個(gè),既然是真正的面向?qū)ο?,那就要做到徹底的封裝這是java和c++最大的不同,java所有的源碼以及編譯后的文件都以類(lèi)的形式存在java沒(méi)有所謂的類(lèi)外部定義,所有的函數(shù)
3、(方法)以及變量(屬性)都必須在類(lèi)內(nèi)部定義這樣就不會(huì)出現(xiàn)一個(gè)類(lèi)被切割成這里一塊那里一塊的情況,c++就可以,不是么?這樣做使得整個(gè)程序的結(jié)構(gòu)異常清晰,明了其次第二個(gè),最讓人歡呼雀躍的是完全屏蔽了指針,同時(shí)引入了垃圾回收機(jī)制任何一個(gè)寫(xiě)過(guò)c/c++代碼的人,都會(huì)對(duì)內(nèi)存管理深?lèi)和唇^因?yàn)檫@使得我們不能把主要精力放在我們關(guān)心的事情上而需要考慮計(jì)算機(jī)內(nèi)部的一些事情,作為一個(gè)軟件工程師我想沒(méi)有一個(gè)人愿意把大量的時(shí)間花在內(nèi)存管理上,畢竟我們不是電子工程師此時(shí)java的優(yōu)勢(shì)體現(xiàn)出來(lái)了,它完全屏蔽了內(nèi)存管理也就是說(shuō),如果你用java寫(xiě)程序,寫(xiě)出來(lái)的任何一個(gè)程序內(nèi)存上的開(kāi)銷(xiāo),都不
4、受你控制乍一看,似乎你受到了束縛,但實(shí)際上不是這樣因?yàn)殡m然你的程序無(wú)法對(duì)內(nèi)存進(jìn)行管理,降低了一定的速度但你的程序會(huì)非常非常的安全,因?yàn)槟銦o(wú)法調(diào)用一個(gè)空指針而不像以前寫(xiě)c的時(shí)候那樣,成天因?yàn)榭罩羔樁鴵?dān)驚受怕當(dāng)然,如果你深入了解這一行,就會(huì)發(fā)現(xiàn)java其實(shí)也無(wú)法保證程序不去調(diào)用空的指針但是它會(huì)在最大程度上避免空指針的調(diào)用這已經(jīng)很好了,安全,這是java的最突出的優(yōu)點(diǎn)第三個(gè),虛擬機(jī)跨平臺(tái),這是java最大的特點(diǎn),跨平臺(tái)可能所有人都知道windows,但是不是所有人都知道unix和java一樣,很多人都不知道unix這種操作系統(tǒng)干什么用我不想多說(shuō)unix的應(yīng)用,這不
5、是主要,但是我要說(shuō),大部分小型機(jī)工作站,都跑在unix一族的操作系統(tǒng)上,比如linux/solarisunix比起windows有一個(gè)最顯著的特點(diǎn),穩(wěn)定,這就好比思科和華為思科的機(jī)器慢但穩(wěn)定,華為的機(jī)器快但不穩(wěn)定,作為服務(wù)器這一端來(lái)說(shuō)要的皇怯卸囁歟俏榷ǎ評(píng)nix在服務(wù)器端還是非常有市場(chǎng)的而且很重要的windows不安全,在ms的宣傳中我想所有人都很少看到安全二字因?yàn)閣indows操作系統(tǒng)針對(duì)的是pc用戶(hù),pc死機(jī)就死機(jī)咯,大不了重啟瘟95最經(jīng)常冒出來(lái)的就是藍(lán)屏,在服務(wù)器這一端上因?yàn)閙s沒(méi)有自己的芯片所以要做系統(tǒng)有些力不從心啊。扯遠(yuǎn)了,那么java可以
6、做到在windows上編譯然后在unix上運(yùn)行,這是c/c++做不到的那么說(shuō)到這里,java能做什么逐漸清晰起來(lái)剛才說(shuō)到了,java程序有一個(gè)的特點(diǎn)是安全這個(gè)安全是針對(duì)你的系統(tǒng)來(lái)說(shuō)得,系統(tǒng)在跑了java程序之后會(huì)特別地穩(wěn)定而且還能跨平臺(tái),那么很明顯,java主要應(yīng)用于除了windows操作系統(tǒng)以外所有的平臺(tái)比如手機(jī),服務(wù)器想想看,如果你寫(xiě)的程序要跑在手機(jī)上,而手機(jī)有多少款用的是windows?就算有,那如果你用c/c++,是不是要針對(duì)每一款手機(jī)寫(xiě)一套程序呢?累死,那跨平臺(tái)的java就不用,做到編譯一次,隨時(shí)運(yùn)行同樣,在服務(wù)器這一端,如果我想給一個(gè)網(wǎng)絡(luò)門(mén)戶(hù)站點(diǎn)
7、,比如sina寫(xiě)一個(gè)應(yīng)用程序,pc的性能肯定無(wú)法滿(mǎn)足sina這樣大站點(diǎn)并發(fā)數(shù)量的要求那么它就需要買(mǎi)服務(wù)器,那么服務(wù)器ms沒(méi)有市場(chǎng),而且windows很不安全那么十之八九會(huì)買(mǎi)一個(gè)sun/ibm的機(jī)器,或者h(yuǎn)p,但不管是誰(shuí)的機(jī)器它裝的操作系統(tǒng)也不會(huì)是windows,因?yàn)閣indows太不安全了,而且多核的支持太差了這個(gè)有空再說(shuō),那么如果你要寫(xiě)一個(gè)程序在這樣的機(jī)器上跑難道我們就在這個(gè)機(jī)器上做開(kāi)發(fā)么?當(dāng)然不可能,一般程序員開(kāi)發(fā)用的都是pc,windows那么該怎么辦?寫(xiě)一個(gè)程序,然后再拿到服務(wù)器上去編譯,去調(diào)試?肯定不可能,所以我們就希望找到一個(gè)語(yǔ)言,編譯完生成程序
8、之后在pc上調(diào)試,然后直接移植到服務(wù)器上去,那么此時(shí)