关于网上比较C++与JAVA的文章很多,在这边我还是要再啰嗦一下,毕竟也是原创的嘛。
本人做了3年游戏开发,有多年的JAVA与C++开发经验,有一点感触,写下来给有需要的人。
做网络游戏目前毫无疑问的C++占9成以上,我想大部分人选择它是因为他的效率,不过还有一些其他原因,跟风,对,中国人比较喜欢跟风与山寨,比如打听某某大作是用什么语言开发的呀,使用了什么类型的脚本啊,比较典型的就是模仿暴雪,中国什么山寨都有,技术选型也不例外。
客户端其实不用比较了,JAVA是真的不适合,因为他的跨平台特性,没有使用原生控件来绘制,效率自然低下。
服务器端还是需要好好的比较一下的。
1 C++ 速度快,掌握把控难,可用库较少,跨平台比较难,开发周期比较久,不稳定,不安全等特点。
2 JAVA 速度相当较慢 掌握容易 可用库非常丰富 ,跨平台简单,可以方便的利用64位linux系统的大内存,开发周期较短,更稳定,更安全,JNI技术可用在关键技术上使用native代码,更容易控制团队与全局。
首先C++与JAVA最大的不同当然是在内存管理上面了,C++的内存自己管理,而JAVA是通过垃圾收集器回收的。
C++可以使用指针定位方式获取收到的数据,JAVA大多是通过复制来实现的,虽然JAVA是复制底层是通过汇编实现的,很快,但是也会出现一个问题,大量的复制导致内存回收过于频繁,年轻代垃圾回收器频繁的工作,每次工作消耗的系统时间大概是5-15MS,在高并发的情况下,平局20秒就要回收一次。
目前C++开发的网游,能完全实现跨平台的使用64位技术的是少之又少,基本上90%都是windows上开发的。
而JAVA就可以利用它跨平台的优势,通过线程局部缓存,设定对象池,使用大内存等方案,是完全可以与C++抗衡的。
目前北京已经有几十家公司采用JAVA开发游戏服务器了,期待有更多JAVA开发的游戏大作出现!
分享到:
相关推荐
在Android平台上进行飞行游戏开发是一项综合性的技术工作,涉及到图形渲染、物理引擎、用户交互、音效处理等多个方面的知识。本项目提供了从开发程序到最终apk应用的完整流程,同时包含了一份详细的论文文档,让我们...
网络游戏开发是一个涵盖广泛的技术领域,涉及众多的编程语言、数据结构、算法以及系统设计。本文将深入探讨网络游戏开发的关键知识点,结合给定的文件标题、描述及标签,我们将重点讨论3D网络游戏设计的位置引擎、...
"游戏"代表这是一个游戏项目,"开发语言"强调了用Python进行编程。 从压缩包子文件的文件名称来看,虽然文件名与标题不符,但我们可以推断这个压缩包可能包含了另一个相关项目——"基于Python的旅游管理系统微信小...
本毕业设计论文介绍用JAVA语言设计一个“俄罗斯方块”游戏的过程,整个游戏系统是一个应用程序(Java Application),不再是嵌入到网页里的那种小应用程序(Applet);并使用了标准Swing组件,使得界面更具有美观的...
J2ME是Java的一个子集,专门用于移动设备和嵌入式系统,因此对于手机游戏开发非常适用。 首先,我们要理解Java在游戏开发中的优势。Java是一种跨平台的语言,这意味着编写一次代码,就可以在多个操作系统上运行,这...
在游戏的设计中,我们使用 Java 语言作为开发语言,MyEclipse 作为开发平台。我们使用 GUI(图形用户界面)来设计游戏的界面,使得游戏界面简单清晰。同时,我们还使用了动态的二维数组来实现游戏的逻辑,根据一定的...
Java-swing 是一个功能强大且灵活的编程语言,在游戏开发中可以用来实现游戏的客户端和服务器端。通过使用 Java-swing,可以实现游戏的图形用户界面、游戏逻辑、网络通信等功能。 知识点3:游戏设计的基本思想 ...
在IT行业中,Java语言因其跨平台性和强大的性能,被广泛应用于各种领域,其中包括游戏开发。本文将主要聚焦于“JAVAJAVA游戏论文”这一主题,深入探讨Java在游戏开发中的应用,以及相关的技术知识。 首先,Java 2 ...
"基于Java的游戏设计——贪吃蛇论文.doc" ...通过基于Java的游戏设计——贪吃蛇论文,我们可以看到Java语言和Eclipse开发环境在游戏开发中的应用,了解游戏设计和开发的整个过程,并掌握Java相关技术的应用。
本论文使用了 Java 语言作为游戏开发语言,使用了 Eclipse 作为游戏开发平台,使用了 Photoshop 7.0 作为图片制作工具,使用了 Winamp 作为音乐转换工具。 游戏开发关键技术 本论文主要介绍了吃豆子游戏开发的关键...
这个项目不仅包含了完整的源代码,还附带了一份课程设计报告,为学习者提供了深入理解Java编程以及游戏开发的实践机会。 首先,让我们关注“Java”这一标签。Java是一种广泛应用于服务器端、桌面应用、移动应用等...
本篇论文共分为七个部分:包括绪论、J2ME 技术概览、游戏设计的需求分析、“Pocket Boxing”手机游戏开发制作、手机游戏开发存在的困难、J2ME 手机游戏前景展望和结论。其中第四部分“Pocket Boxing 手机游戏开发...
在计算机科学中,游戏开发是一个重要的分支,它涵盖了图形学、人工智能、数据结构、算法等多个领域。PAC-MAN游戏的核心机制是迷宫探索和角色动态交互,这涉及到了路径规划、碰撞检测以及敌我智能行为的设计。在VC...
本论文将探讨如何利用C#编程语言实现这一游戏,帮助读者理解C#的基本语法、事件处理以及游戏逻辑的设计。 一、C#语言基础 C#是微软公司推出的一种面向对象的编程语言,具有简洁、高效和类型安全等特点。在开发...
在本论文中,我们将使用 Java 语言来开发一个坦克大战游戏,介绍游戏开发的整个过程。 游戏开发的可行性分析 在游戏开发之前,我们需要对游戏的可行性进行分析,考察游戏的技术可行性、经济可行性和操作可行性等多...