我心飛翔

          Java技術交流

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            9 Posts :: 16 Stories :: 4 Comments :: 0 Trackbacks
          學java不知不覺也已經(jīng)三年了

          從不知java為何物到現(xiàn)在一個小小的j2ee項目經(jīng)理

          雖說不上此道高手,大概也算有點斤兩了吧

          每次上網(wǎng),泡bbs逛論壇,沒少去java相關的版面

          總體感覺初學者多,高手少,精通的更少



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

          還有一個很重要的原因就是java這門語言更適合商業(yè)應用

          所以高校里大部分博士老師們對此語言的了解甚至不比本科生多

          在這種環(huán)境下,很多人對java感到茫然,不知所措,不懂java能做什么

          即便知道了java很有用,也不清楚該從哪里入手

          所以就有了 java入門難 這一說法



          ok,那我們就從java到底能做什么聊起



          先說什么是java



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

          至于什么是對象什么是類,我就不廢話了

          關于這兩個概念的解釋任何一本面向對象語言的教材里面都有

          知道了什么是java,那自然就會對java能干什么感興趣



          在說java能做什么之前,先說java作為一個真正面向對象語言的優(yōu)點

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

          這是java和c++最大的不同,java所有的源碼以及編譯后的文件都以類的形式存在

          java沒有所謂的類外部定義,所有的函數(shù)(方法)以及變量(屬性)都必須在類內(nèi)部定義

          這樣就不會出現(xiàn)一個類被切割成這里一塊那里一塊的情況,c++就可以,不是么?

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



          其次第二個,最讓人歡呼雀躍的是完全屏蔽了指針,同時引入了垃圾回收機制

          任何一個寫過c/c++代碼的人,都會對內(nèi)存管理深惡痛絕

          因為這使得我們不能把主要精力放在我們關心的事情上

          而需要考慮計算機內(nèi)部的一些事情,作為一個軟件工程師

          我想沒有一個人愿意把大量的時間花在內(nèi)存管理上,畢竟我們不是電子工程師

          此時java的優(yōu)勢體現(xiàn)出來了,它完全屏蔽了內(nèi)存管理

          也就是說,如果你用java寫程序,寫出來的任何一個程序內(nèi)存上的開銷,都不受你控制

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

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

          但你的程序會非常非常的安全,因為你無法調(diào)用一個空指針

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

          當然,如果你深入了解這一行,就會發(fā)現(xiàn)java其實也無法保證程序不去調(diào)用空的指針

          但是它會在最大程度上避免空指針的調(diào)用

          這已經(jīng)很好了,安全,這是java的最突出的優(yōu)點



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

          可能所有人都知道windows,但是不是所有人都知道unix

          和java一樣,很多人都不知道unix這種操作系統(tǒng)干什么用

          我不想多說unix的應用,這不是主要,但是我要說,大部分小型機

          工作站,都跑在unix一族的操作系統(tǒng)上,比如linux/solaris

          unix比起windows有一個最顯著的特點,穩(wěn)定,這就好比思科和華為

          思科的機器慢但穩(wěn)定,華為的機器快但不穩(wěn)定,作為服務器這一端來說

          要的在服務器端還是非常有市場的

          而且很重要的windows不安全,在ms的宣傳中我想所有人都很少看到安全二字

          因為windows操作系統(tǒng)針對的是pc用戶,pc死機就死機咯,大不了重啟

          瘟95最經(jīng)常冒出來的就是藍屏,在服務器這一端上因為ms沒有自己的芯片

          所以要做系統(tǒng)有些力不從心啊。扯遠了,那么java可以做到在windows上編譯

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



          那么說到這里,java能做什么逐漸清晰起來

          剛才說到了,java程序有一個的特點是安全

          這個安全是針對你的系統(tǒng)來說得,系統(tǒng)在跑了java程序之后會特別地穩(wěn)定

          而且還能跨平臺,那么很明顯,java主要應用于除了windows操作系統(tǒng)以外所有的平臺

          比如手機,服務器

          想想看,如果你寫的程序要跑在手機上,而手機有多少款用的是windows?

          就算有,那如果你用c/c++,是不是要針對每一款手機寫一套程序呢?

          累死,那跨平臺的java就不用,做到編譯一次,隨時運行

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

          寫一個應用程序,pc的性能肯定無法滿足sina這樣大站點并發(fā)數(shù)量的要求

          那么它就需要買服務器,那么服務器ms沒有市場,而且windows很不安全

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

          它裝的操作系統(tǒng)也不會是windows,因為windows太不安全了,而且多核的支持太差了

          這個有空再說,那么如果你要寫一個程序在這樣的機器上跑

          難道我們就在這個機器上做開發(fā)么?當然不可能,一般程序員開發(fā)用的都是pc,windows

          那么該怎么辦?寫一個程序,然后再拿到服務器上去編譯,去調(diào)試?

          肯定不可能,所以我們就希望找到一個語言,編譯完生成程序之后

          在pc上調(diào)試,然后直接移植到服務器上去,那么此時,我們就會毫不猶豫地選擇java

          因為在跨平臺以及安全性來說,java永遠是第一選擇



          ok,下面說java的缺點



          一慢,這其實是一種誤區(qū),這就好比goto語句一樣

          java也拋棄了指針,雖然看上去似乎變慢了,但是在這個兩三年硬件性能就能翻番的年代

          速度已經(jīng)不是我們關心的問題了,而且對于企業(yè)級的應用來說

          沒有什么比安全穩(wěn)定更重要的,換句話說,我們可以忍受慢,但是不能忍受死機和藍屏

          而且越大型的應用,這種慢的劣勢體現(xiàn)得越模糊

          因為當系統(tǒng)項目越做越大,任何一個環(huán)節(jié)做不好都可能影響全局的情況下

          安全尤其重要,而且就像goto語句一樣

          這種過分追求速度的主張會給系統(tǒng)開發(fā)和糾錯以及維護帶來無可挽回甚至不可避免的損失

          把內(nèi)存交給計算機去管理吧,這種代價值得

          我們做的不是pc游戲,沒必要把內(nèi)存的那一點點消耗當親爹



          二難看,又是一個誤區(qū),很多人甚至拿出java swing控件畫出的界面來說

          呵呵,其實java不是不能畫得好看,IDEA就是java寫的IDE,挺漂亮的

          但為什么難看呢,是因為swing控件它本身就是unix時代的產(chǎn)物,swing控件貼近unix界面

          老外看unix界面其實挺順眼的,他們就是吃unix飯長大的

          而unix又是吃百家飯的,不像ms那么唯利是圖,所以不怎么對中國人友好

          加上我國又沒有公司在做操作系統(tǒng),所以看上去是不怎么順眼

          其實玩過unix的人都知道,unix對中文的支持一直不怎么好

          標簽:java培訓課程 java軟件工程師培訓  java就業(yè)培訓教程  java培訓機構  java培訓班  java軟件培訓   java培訓

          posted on 2009-11-14 15:24 飛翔的JAVA 閱讀(52) 評論(0)  編輯  收藏
          主站蜘蛛池模板: 古蔺县| 宿迁市| 清新县| 海宁市| 监利县| 余姚市| 紫阳县| 固阳县| 清新县| 甘谷县| 平泉县| 屏南县| 秭归县| 广安市| 镇原县| 绥中县| 诸暨市| 连江县| 辉南县| 虎林市| 永新县| 辽源市| 高台县| 望谟县| 鹤峰县| 钟祥市| 任丘市| 县级市| 弥勒县| 长汀县| 米泉市| 长葛市| 土默特左旗| 浑源县| 广元市| 乌鲁木齐市| 延安市| 北辰区| 卢氏县| 万宁市| 南郑县|