每期開班資格有(yǒu)限前20名(míng)領取2000元助學(xué)金

姓名(míng):
手機:
首頁(yè) / 行業資訊 / IT教程
給學(xué)習JAVA的小(xiǎo)白們的幾個建議

學(xué)java不知不覺也已經三年了


從不知java為(wèi)何物(wù)到現在一個小(xiǎo)小(xiǎo)的j2ee項目經理(lǐ)


雖說不上此道高手,大概也算有(yǒu)點斤兩了吧


每次上網,沒少去java相關的版面


總體(tǐ)感覺初學(xué)者多(duō),高手少,精(jīng)通的更少


由于我國(guó)高等教育制度教材陳舊,加上java自身發展不過十年左右的時間


還有(yǒu)一個很(hěn)重要的原因就是java這門語言更适合商(shāng)業應用(yòng)


所以高校裏大部分(fēn)博士老師們對此語言的了解甚至不比本科(kē)生多(duō)


在這種環境下,很(hěn)多(duō)人對java感到茫然,不知所措,不懂java能(néng)做什麽


即便知道了java很(hěn)有(yǒu)用(yòng),也不清楚該從哪裏入手


所以就有(yǒu)了 java入門難 這一說法


ok,那我們就從java到底能(néng)做什麽聊起


首先,我們需要了解什麽是java


java是一種面向對象語言,真正的面向對象,任何函數和變量都以類封裝(zhuāng)起來


知道了什麽是java,那自然就會對java能(néng)幹什麽感興趣

 

在說java能(néng)做什麽之前,先說java作(zuò)為(wèi)一個真正面向對象語言的優點


首先第一個,既然是真正的面向對象,那就要做到徹底的封裝(zhuāng)


這是java和c++最大的不同,java所有(yǒu)的源碼以及編譯後的文(wén)件都以類的形式存在


java沒有(yǒu)所謂的類外部定義,所有(yǒu)的函數(方法)以及變量(屬性)都必須在類内部定義


這樣就不會出現一個類被切割成這裏一塊那裏一塊的情況,c++就可(kě)以,不是麽?


這樣做使得整個程序的結構異常清晰,明了


其次第二個,最讓人歡呼雀躍的是完全屏蔽了指針,同時引入了垃圾回收機制,任何一個寫過c/c++代碼的人,都會對内存管理(lǐ)深惡痛絕。因為(wèi)這使得我們不能(néng)把主要精(jīng)力放在我們關心的事情上,而需要考慮計算機内部的一些事情,作(zuò)為(wèi)一個軟件工(gōng)程師。


我想沒有(yǒu)一個人願意把大量的時間花(huā)在内存管理(lǐ)上,畢竟我們不是電(diàn)子工(gōng)程師


此時java的優勢體(tǐ)現出來了,它完全屏蔽了内存管理(lǐ)


也就是說,如果你用(yòng)java寫程序,寫出來的任何一個程序内存上的開銷,都不受你控制


乍一看,似乎你受到了束縛,但實際上不是這樣


因為(wèi)雖然你的程序無法對内存進行管理(lǐ),降低了一定的速度


但你的程序會非常非常的安(ān)全,因為(wèi)你無法調用(yòng)一個空指針


而不像以前寫c的時候那樣,成天因為(wèi)空指針而擔驚受怕


當然,如果你深入了解這一行,就會發現java其實也無法保證程序不去調用(yòng)空的指針


但是它會在最大程度上避免空指針的調用(yòng)


這已經很(hěn)好了,安(ān)全,這是java的最突出的優點


第三個,虛拟機跨平台,這是java最大的特點,跨平台


可(kě)能(néng)所有(yǒu)人都知道windows,但是不是所有(yǒu)人都知道unix


和java一樣,很(hěn)多(duō)人都不知道unix這種操作(zuò)系統幹什麽用(yòng)


我不想多(duō)說unix的應用(yòng),這不是主要,但是我要說,大部分(fēn)小(xiǎo)型機


工(gōng)作(zuò)站,都跑在unix一族的操作(zuò)系統上,比如linux/solaris


unix比起windows有(yǒu)一個最顯著的特點,穩定,這就好比思科(kē)和華為(wèi)


思科(kē)的機器慢但穩定,華為(wèi)的機器快但不穩定,作(zuò)為(wèi)服務(wù)器這一端來說


首先要考慮的還是穩定性,unix在服務(wù)器端還是非常有(yǒu)市場的


而且很(hěn)重要的windows不安(ān)全,在ms的宣傳中(zhōng)我想所有(yǒu)人都很(hěn)少看到安(ān)全二字


因為(wèi)windows操作(zuò)系統針對的是pc用(yòng)戶,pc死機就死機咯,大不了重啓


瘟95最經常冒出來的就是藍屏,在服務(wù)器這一端上因為(wèi)ms沒有(yǒu)自己的芯片


所以要做系統有(yǒu)些力不從心啊。扯遠(yuǎn)了,那麽java可(kě)以做到在windows上編譯


然後在unix上運行,這是c/c++做不到的


那麽說到這裏,java能(néng)做什麽逐漸清晰起來


剛才說到了,java程序有(yǒu)一個的特點是安(ān)全


這個安(ān)全是針對你的系統來說得,系統在跑了java程序之後會特别地穩定


而且還能(néng)跨平台,那麽很(hěn)明顯,java主要應用(yòng)于除了windows操作(zuò)系統以外所有(yǒu)的平台


比如手機,服務(wù)器


想想看,如果你寫的程序要跑在手機上,而手機有(yǒu)多(duō)少款用(yòng)的是windows?


就算有(yǒu),那如果你用(yòng)c/c++,是不是要針對每一款手機寫一套程序呢(ne)?


累死,那跨平台的java就不用(yòng),做到編譯一次,随時運行


同樣,在服務(wù)器這一端,如果我想給一個網絡門戶站點,比如sina


寫一個應用(yòng)程序,pc的性能(néng)肯定無法滿足sina這樣大站點并發數量的要求


那麽它就需要買服務(wù)器,那麽服務(wù)器ms沒有(yǒu)市場,而且windows很(hěn)不安(ān)全


那麽十之八九會買一個sun/ibm的機器,或者hp,但不管是誰的機器


它裝(zhuāng)的操作(zuò)系統也不會是windows,因為(wèi)windows太不安(ān)全了,而且多(duō)核的支持太差了


這個有(yǒu)空再說,那麽如果你要寫一個程序在這樣的機器上跑


難道我們就在這個機器上做開發麽?當然不可(kě)能(néng),一般程序員開發用(yòng)的都是pc,windows


那麽該怎麽辦(bàn)?寫一個程序,然後再拿(ná)到服務(wù)器上去編譯,去調試?


肯定不可(kě)能(néng),所以我們就希望找到一個語言,編譯完生成程序之後


在pc上調試,然後直接移植到服務(wù)器上去,那麽此時,我們就會毫不猶豫地選擇java


因為(wèi)在跨平台以及安(ān)全性來說,java永遠(yuǎn)是第一選擇


以上就是全部内容,想了解更多(duō)有(yǒu)關java方面的資訊,請繼續關注網時代官網。

公(gōng)司地址:
深圳市龍華區(qū)龍華街(jiē)道油松社區(qū)東環一路創豐中(zhōng)心4樓401-402

領取2000元助學(xué)金

每期開班資格有(yǒu)限