為什麼Java不適合遊戲開發?

wenzi容謙


主要考慮到效率(代碼執行效率、開發效率)問題,寫起來沒有C那麼效率,用java寫成本太高不划算,專精不同,java現在廣泛應用於web,還有就是C是基於windows對Windows的兼容更好,java是運行在JVM中調Windows系統中的一些接口比較費勁。

java什麼東西基本都能開發,只是java致命的是不能直接操作內存,這樣使java在開發的時候造成很多侷限性.但是java提供了本地方法,可以調用c的類庫。使得功能進一步提升。又由於java對於垃圾回收機制是自動的,使得遊戲在流暢性上有很大的折扣,所以不適合做遊戲。


遊戲小孩兒


Java何來不適合遊戲開發一說的呢?

畢竟遊戲有分類,而且遊戲也分客戶端,服務端

很多遊戲的服務端就是Java的

而且實時性要求不高的遊戲客戶端,也可以用Java開發,例如 我的世界

我想題主想問為什麼3A大作沒有用Java開發的吧

這其實是一個路徑綁定問題,目前大作基本上都是用遊戲引擎做的,而且這些遊戲引擎都是發展多年的,如果用Java做,可能要用沒經過業內驗證的新東西,大公司不想冒險,還有Java的垃圾回收機制本身也是個難點,不適合做實時性非常強的遊戲。



極思生廣義


JAVA 可以做遊戲服務端的開發,也就是網絡遊戲的開發,網絡遊戲的實時性高,對高併發,數據的一致性處理要求較高,並且因為是自身JVM 的垃圾回收機制對服務器的內核性能要求高,會佔用一定的資源去處理這部分數據,遊戲的實時性代表了大量數據會經常被更改替換。

JAVA 不是不能做,而是對開發人員的能力要求高!如果能夠充分利用JAVA 的併發優勢,那是可以做到的,並且這已經被有些小公司當做網絡遊戲服務端的開發語言了。

PC 端,移動端的單機遊戲就不用再考慮JAVA 了,顯然JAVA 的2D3D 處理效果沒有一些主流的遊戲開發語言好!語言具有其使用場景,抓住其優點去利用之,而不是拿它的缺點如何別的語言優點相比!如今JAVA 是做服務端開發的不二人選,因為他的帝國大廈已經很完善,開發人員也多!


人生路誰主沉浮


因為java中間多出來一個jvm,效率低,遊戲實時性很重要。

看一個語言適合開發什麼,主要有三點

1.效率問題,包括開發效率和執行效率。

2.生態圈,有人家提供好的成套解決方案,為什麼不用呢?

3.產品的側重點。

就拿java和c++來說,java主要用於web開發,但是c++通過cgi也可以寫web,而且c++的執行效率甩java幾條街,但是為什麼不用c++寫web呢,因為c++的開發web的效率太低,而java有各種web方面的框架,開發效率高。

如果產品是遊戲,遊戲實時性很重要,你玩個遊戲反應慢半拍那肯定很惱火。遊戲這個產品的實時性就註定了要採用高效率的語言開發,那c,c++自然就跑不掉了。


Sakura1225


如果你問我java適合開發遊戲嗎?我回答肯定是適合的,java開發效率高,運行效率一般,需要運行效率的地方用c或者cxx寫就好了,現在市面大多數遊戲都不是單一編程語言開發的,不需要在語言方面糾結太久。

很多人說,運行效率也很重要,但實際上,一般邏輯,你是感受不出差異的,普通邏輯使用java或者c#,或者腳本語言等這種開發效率,調試效率高的語言會讓你開發更舒服。特別是腳本語言。

c和cxx只在特別需要效率的地方才使用。


xycode


java開發遊戲性能和效率差,開發一些小遊戲還可以,java面向對象,所有方法都是封裝在類裡的,要調用方法就得實例類,而遊戲主要側重的是邏輯

對象就像是很多功能的機器,但是我的遊戲邏輯只要每臺機器的其中一個功能,但要用的話必須把這一整臺機器製造出來。這就是面向對象的缺陷吧

而c是面向過程的可以更加靈活地設計過程邏輯,少去很多多餘東西,大大提高性能

java的長處就是利用各種現存的類包,達到複用的效果,大大提高開發效率,

當然java也可以只針對邏輯來設計類,但那不是java的長處,沒有多大的意義

百度搜索圈T社區(www.aiquanti.com) 免費視頻教程


IT資訊i


哈囉,這裡子期!java開發遊戲性能和效率差,開發一些小遊戲還可以,遠標老師講過java面向對象,所有方法都是封裝在類裡的,要調用方法就得實例類,而遊戲主要側重的是邏輯

對象就像是很多功能的機器,但是我的遊戲邏輯只要每臺機器的其中一個功能,但要用的話必須把這一整臺機器製造出來。這就是面向對象的缺陷吧

而c是面向過程的可以更加靈活地設計過程邏輯,少去很多多餘東西,大大提高性能

java的長處就是利用各種現存的類包,達到複用的效果,大大提高開發效率,

當然java也可以只針對邏輯來設計類,但那不是java的長處,沒有多大的意義


分享到:


相關文章: