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