java的優(yōu)勢(shì)和缺點(diǎn) java有什么特點(diǎn)?
java有什么特點(diǎn)?Java的優(yōu)勢(shì):1.簡(jiǎn)單2.面向?qū)ο?面向?qū)ο蟮某潭瓤梢赃_(dá)到95%)強(qiáng)壯4.跨平臺(tái)5.高性能(自動(dòng)垃圾收集機(jī)制)6.多線程操作7.動(dòng)態(tài)的8.安全性Java的缺點(diǎn):1.效率低下(毫無(wú)
java有什么特點(diǎn)?
Java的優(yōu)勢(shì):
1.簡(jiǎn)單
2.面向?qū)ο?面向?qū)ο蟮某潭瓤梢赃_(dá)到95%)
強(qiáng)壯
4.跨平臺(tái)
5.高性能(自動(dòng)垃圾收集機(jī)制)
6.多線程操作
7.動(dòng)態(tài)的
8.安全性
Java的缺點(diǎn):
1.效率低下(毫無(wú)疑問(wèn))
2.跨平臺(tái)是它最大的優(yōu)勢(shì),也是它最大的劣勢(shì)。
3.復(fù)雜性(做一個(gè)項(xiàng)目需要很多知識(shí),涉及面廣)
關(guān)注優(yōu)就業(yè),多學(xué)習(xí)IT知識(shí)。
為什么Java不適合游戲開(kāi)發(fā)?
作為一個(gè)多年的游戲服務(wù)器開(kāi)發(fā)者,我來(lái)回答這個(gè)問(wèn)題。只要你仔細(xì)看看招聘網(wǎng)站,就會(huì)發(fā)現(xiàn)招java的游戲少之又少(希望我不 t說(shuō)的太多,我說(shuō)的很少,不是說(shuō)沒(méi)有)。那么為什么其他領(lǐng)域的霸主連游戲行業(yè)的一口湯都沒(méi)有資格喝呢?其實(shí)主要有兩個(gè)原因,而且都和程序員最關(guān)心的效率有關(guān),一個(gè)是開(kāi)發(fā)效率,一個(gè)是運(yùn)行效率。不幸的是,作為一個(gè)java可以 不要上上下下,它可以 不要兩者都拿。
首先是開(kāi)發(fā)效率。前幾年手機(jī)游戲流行,游戲公司多,產(chǎn)品相似度高。那么如何最快的開(kāi)發(fā)出游戲并投入運(yùn)營(yíng),在快速迭代中試錯(cuò),減少開(kāi)發(fā)周期就是降低開(kāi)發(fā)成本。在這種環(huán)境下,很多腳本語(yǔ)言成為了首選,比如nodejs、php甚至lua、python(這里還有一點(diǎn),雖然lua語(yǔ)言本身很簡(jiǎn)單,其實(shí)lua s在游戲領(lǐng)域的使用成本是非常高的,至少是四種腳本語(yǔ)言中最高的,因?yàn)樗皇且环N膠水語(yǔ)言,而且依賴于C/C,作為一個(gè)圍繞游戲的庫(kù),需要自己搭建或者自己找輪子。同時(shí),對(duì)于引擎部分,面對(duì)這些腳本語(yǔ)言,java并沒(méi)有優(yōu)勢(shì)。Nodejs可以用js寫出來(lái)(html5的普及讓這種情況越來(lái)越多)。而且php好用,開(kāi)發(fā)簡(jiǎn)單,像一些使用http的弱交互游戲,熱更新不要太酷,不要無(wú)意識(shí)的修復(fù)bug。一些簡(jiǎn)單的休閑游戲可以用這些腳本語(yǔ)言快速完成。就拿之前流行的傳奇刀塔來(lái)說(shuō),使用這些腳本語(yǔ)言完全沒(méi)有壓力,尤其是對(duì)于棋牌類游戲,腳本語(yǔ)言是首選。
其次,讓 讓我們談?wù)劷?jīng)營(yíng)效率。在一些計(jì)算密集型游戲中,C是首選。在一些大型游戲中,計(jì)算要求高,業(yè)務(wù)邏輯復(fù)雜,提高效率可以容納更多的在線人數(shù),降低成本。同時(shí)對(duì)內(nèi)存要求也高。用C,可以統(tǒng)計(jì)內(nèi)存,寫代碼(手法太夸張了【捂臉】)。對(duì)象的應(yīng)用和釋放都是程序員說(shuō)了算,不存在gc消耗。和java學(xué)生所有的產(chǎn)品都是字節(jié)碼,代碼執(zhí)行都要通過(guò)jvm運(yùn)行。中間的消耗對(duì)于那些要求嚴(yán)格性能的程序來(lái)說(shuō)是絕對(duì)不能接受的。
綜上兩點(diǎn),java這種介于運(yùn)行效率和開(kāi)發(fā)效率之間的語(yǔ)言,在游戲行業(yè)自然不會(huì)受到青睞。