JAVA能写大型游戏么?「建议收藏」

JAVA能写大型游戏么?「建议收藏」JAVA能写大型游戏么?答:不能,所谓的大型游戏一般都是指端游。必须是C++这没办法C++和java的效率还是有很大差距的。在游戏业Java可以搞什么?那就是页游和手游的服务端了,页游的前端都是Flash,手游的前端是coco2dx(C++),unity3D(C#或JS)你可以看看37游戏墨麟集团上海易娱明朝网络动网先锋掌趣科技等等游戏公司他们都找Java游戏服务端的…

大家好,又见面了,我是你们的朋友全栈君。

JAVA能写大型游戏么?
答:不能 ,所谓的大型游戏一般都是指端游。必须是C++
这没办法C++和java的效率还是有很大差距的。

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

在游戏业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起码在页游手游服务端毫无疑问的,也有很多成功的产品。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140680.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pytest运行_ios怎么清理应用缓存在哪里

    pytest运行_ios怎么清理应用缓存在哪里前言pytest运行完用例之后会生成一个.pytest_cache的缓存文件夹,用于记录用例的ids和上一次失败的用例。方便我们在运行用例的时候加上–lf和–ff参数,快速运行上一

    2022年7月28日
    15
  • 2019最新Web前端经典面试试题及答案-史上最全前端面试题(含答案)

    2019最新Web前端经典面试试题及答案-史上最全前端面试题(含答案)近期总结一一些面试题都是企业的面试题笔记题感觉薪资10k下的都会出笔试题特别高的薪资都是直接技术面试或者是现场编程总结很多人的面试题,后期会对于单个知识点再说笔记详细讲解。部分都是百度的答案,不是特全面的,可以自己找下同时分享一个自己录制的CSS3动画特效经典案例【推荐教程】–后期会更新vue框架微信小程序等内容。https://ke.qq.com/cou…

    2022年5月31日
    37
  • Win32 API 常量定义(四)

    PublicConstMIXER_OBJECTF_HMIDIOUT=(MIXER_OBJECTF_HANDLEOrMIXER_OBJECTF_MIDIOUT)PublicConstMIXER_OBJECTF_MIDIIN=&H40000000PublicConstMIXER_OBJECTF_HMIDIIN=(MIXER_OBJECTF_HANDLEOrMIX

    2022年4月8日
    86
  • java集合详解_通俗易懂java集合

    java集合详解_通俗易懂java集合ArrayDequeArrayDeque是Deque接口的一个实现,使用了可变数组,所以没有容量上的限制。同时,ArrayDeque是线程不安全的,在没有外部同步的情况下,不能再多线程环境下使用。ArrayDeque是Deque的实现类,可以作为栈来使用,效率高于Stack;也可以作为队列来使用,效率高于LinkedList。需要注意的是,ArrayDeque不支持null值。ArrayDeque初识说明书和继承关系还是按照国际惯例,先看一下ArrayDeque的说明书,其实往往很多时候你的困

    2022年9月20日
    3
  • Telerik RadControls for ASP.NET AJAX 2010 Q2最新版下载+源码下载

    Telerik RadControls for ASP.NET AJAX 2010 Q2最新版下载+源码下载TelerikRadControlsforASP.NETAJAX2010Q2RadControlsforASP.NET是一套强大的用户界面控件套装,它可以帮助您创建拥有桌面应用程序华丽外表和高速性能的Web应用程序。18种可靠的UI及数据控件全面提供AJAX性能,使用户可以得到高级的体验。但RadControlsforASP.NET不仅仅只支持AJAX,尽管其包含的控件以一流的性能帮助开发者执行AJAX。RadControlsforASP.NET同样还可以跨浏览器支持,兼容XHTM

    2022年7月19日
    13
  • c语言s16与u16_c语言中u8和u16是啥

    c语言s16与u16_c语言中u8和u16是啥在C语言中,并没有U16和S16这两种基本类型。不过在C语言的编程习惯上,往往为了简写,约定U16和S16两种类型。尤其常见于嵌入式编程或驱动编程上。其中U16为16位无符号数,S16为16为有符号数。定义如下:typedefshortS16;typedefunsignedshortU16;可以看到,U16和S16都是占2个字节的整型类型,区别只是是否有符号。于是U16可…

    2022年8月31日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号