如何用java开发游戏服务器?
首先,我得说明的是,目前市场上新人很难去做pc游戏开发,要么是做页游要么是手游。
页游不清楚我就不说了,手游里面,客户端主要就是c2d和u3d。
如果你想做客户端,那么你可以转学u3d,因为它使用的语言是c sharp,这个语言和Java相似。网上unity的教程也很多,你随便找一下就有了。
再说说手游服务器,其实我入行服务器还是挺巧合的,当初本来是打算做客户端的,都入职了,因为招不到服务器,就让我转服务器了。。
开源的服务器框架也只熟悉kbengine和scut。其中一个是cpp做底层python做开发的,一个是c sharp做开发。而且scut已经两年没有更新了,应该是死掉了。
所以,想要学服务器开发,得碰点运气。
JAVA服务器目前主流框架技术有 网络层netty或mina,数据协议protobuf,数据库mysql,缓存数据库redis,jdbc一般是mybaits或者jpa,项目管理m***en,设计层面spring
然后还需要熟悉多线程,linux的基本操作,git或者svn。
差不多了,这些都有个大致的了解,会用,应该就能找到工作了。
有哪些游戏是用j***a语言编写的?
事实上,j***a并不适合做游戏开发,如果是个人玩玩,用j***a写一些简单的小游戏倒是可以,早期的一些手机游戏很多还是用j***a编写的,但是现在很多的手机游戏都是基于u3d平台开发的,j***a做出来的游戏在画面感和性能上都有明显的缺陷。
而我们知道,j***a更适合做的是web开发,这才是j***a最擅长的领域。
如果是游戏开发,那么像c/c++等比较适合于大型游戏;u3d对于3d效果和画面感则更具优势。
Android手机所有的游戏都是J***A开发的啊!当然大型游戏还有其他建模框架等技术,还要美工做图片等。不是说会J***A就能开发游戏的。游戏开发这是们综合技术。
J***A能不能开发大型游戏?为什么?
多元合创感谢你的邀请!J***a是不适合开发大型游戏的!
j***a开发范围很广,但它一直弊病就是不能直接操作内存,只能安装虚拟机,这样使j***a在开发的时候造成诸多局限性,但是j***a提供了本地方法,可以调用c的类库。这样的话可以功能进一步提升;j***a对于垃圾回收机制是自动的,使得游戏在流畅性上大打折扣。所以j***a不适合开发大型游戏,中小型网络游戏还行。
不能,j***a不能自己控制内存,full gc的时候会有卡顿,而且很多引擎都是支持js或者c#的,所以j***a在游戏领域一般没有什么作为,网游服务器一般也不会用j***a,因为不能调用底层io用c++的比较多
呵呵!说到这个话题首先需要了解J***a的特性,J***a最初设计是为了能在嵌入式上使用,想取代C语言编程,可是由于历史的发展,J***a在网页开发方面有了长足的发展,当时是sun公司推出的编程语言,与此同时业界出现了很多优秀的[_a***_]开源开发框架,把J***a瞬间推上了编程语言的榜首,当然J***a的跨平台特性为其更加赢得程序员的喜爱,高效自动化的内存管理机制,让她很快脱颖而出,各大软件开发商都向J***a语言靠拢,使的J***a语言得到很大的开发市场,但J***a语言在PC桌面级的应用程序开发的不是很多(我在这里都指的是大型软件),因为先期对界面设计没有很好的支持,当然现在已经支持了界面设计;然而再从运行机制分析一下,J***a跨平台得益于J***a虚拟机,J***a编译器首先会把J***a编译成与机器无关的中间码(这个中间码很类似于指定平台的机器码),最终需要在哪个平台运行时在解释成本平台的机器码,显然这样为了夸平台却牺牲了性能,当然目前可以有选项直接生成本地机器码的可执行程序,但我依然认为从性能上不及c于c++的运行性能,古话说得好鱼和熊掌不可兼得;最后话锋一转,再谈谈今天的主题游戏开发,现在游戏开发的核心引擎99%都是用的是c和c++开发的,在使用J***a,c#,lua,JavaScript等语言作为游戏引擎的脚本开发语言,这样就是一个最优搭配,通过语言的优缺点进行完美搭配,游戏核心引擎把几乎所有与性能有关的功能全部实现,游戏引擎给二次开发者提供了脚本语言,这使得游戏开发难度大大降低,同时也增加了程序的稳定性(指针安全性),会根据语言的使用市场来扩大开发人群,这样大型游戏开发难度成本和稳定性就得到充分的权衡!综上所述:J***a是可以进行大型游戏开发的,但需选择游戏引擎支持的游戏开发平台,当然游戏平台的支持很重要!以上所述仅代表本人个人观点。喜欢的读者可添加关注”嘿咪编程专家”头条号或转发,私信留言都可交流,后续会有更精彩的回答与大家分享