龙空技术网

Java能写大型游戏吗?

物联网黄哥 3131

前言:

今天咱们对“用java做的游戏”大体比较重视,朋友们都想要分析一些“用java做的游戏”的相关文章。那么小编同时在网络上汇集了一些对于“用java做的游戏””的相关知识,希望你们能喜欢,大家快快来学习一下吧!

Java能写大型游戏吗?

JAVA能写大型游戏么?

答:不能 ,所谓的大型游戏一般都是指端游。必须是C++。

这没办法C++和java的效率还是有很大差距的。

java什么东西基本都能开发,只是java致命的是不能直接操作内存,只能安装虚拟机,这样使java在开发的时候造成很多局限性.但是java提供了本地方法,可以调用c的类库。使得功能进一步提升。又由于java对于垃圾回收机制是自动的,使得游戏在流畅性上有很大的折扣。所以java不适合开发大型游戏(除非自己实现垃圾回收等一些机制),使java能与c相比使。又因为java的初衷就不在界面和桌面游戏上。而在企业开发。因此java不适合开发大型游戏。中小型网络游戏还行。

Java vs C++

在游戏业Java可以搞什么?那就是页游和手游的服务端了,页游的前端都是Flash,手游的前端是coco2dx(C++),unity3D(C#或JS) 你可以看看 37游戏 墨麟集团 上海易娱 明朝网络 动网先锋 掌趣科技 等等游戏公司他们都找Java游戏服务端的。

在性能方面java拿来做页游手游的服务端是无压力的。为什么不用C++?

因为Java的开发效率比C++的要高,敏捷,游戏开发都是在抢时间的,c++的要求门槛高 ,而且经验少的代码质量差,服务器很容易挂掉,另外一个是Java的人也比较好找,写的代码不要太烂,一般服务不会有什么问题的。

页游手游现在用c++比较多的另外一个原因:历史。为什么?

好像在jdk 4.0之前是没有NIO的,所以游戏服务端的天下都是c++/c,后来java出了NIO后,慢慢出现NIO的框架 如netty mina等等优秀的框架,慢慢就出现用java来做服务端了。

NIO是什么,自己百度吧。光电探测器

NIO的包,有一些新特性,就是异步非阻塞通讯。大大提高了服务端的性能。

你们现在所用的Tomcat,其实是伪异步阻塞式通讯,就是一个线程池在接受发送,一个线程必须等客户端接受完毕才解除阻塞,底层还是同步阻塞的。

现在很多页游手游的服务端都用Java了,起码在广州已经是很成熟的。

搞C++的不愿转Java,这就是为什么服务端都是c++的天下了,java起码在页游手游服务端毫无疑问的,也有很多成功的产品。

假如楼主你想搞端游,提醒一下,搞端游的公司门槛很高的,而且数量极少,现在剩下的端游公司真心不多了,都是些巨头,你打算搞端游的话,第一个你达不达到那种高水平?

第二,公司太少了,风险很大。

本人花费2个月时间,整理了一套JAVA开发技术资料,内容涵盖java基础,分布式、微服务等主流技术资料,包含大厂面经,学习笔记、源码讲义、项目实战、讲解视频。

希望可以帮助一些想通过自学提升能力的朋友,领取资料,扫码关注一下

记得转发+关注+私信

私信回复【2022面试资料】

领取更多学习资料

标签: #用java做的游戏