java程序设计的优缺点 为什么Java不适合游戏开发?
为什么Java不适合游戏开发?
作为一个多年游戏服务端开发者,我来解释看看这个问题。如果你翻看去招聘网站看,会发现到游戏招java的相当少(我只希望杠精最好别唱反调,我说的少,不过相当少,并也不是说没有)。这样的话为么在其他领域的霸主在游戏行业连喝口汤的资格都没有呢?不过比较多有两个原因,但这两个原因都和程序员最如此关心的效率有关系,一个是开发效率,一个是运行效率。很惭愧的作为三个不上不下的java两个都占不了。
简单是旗下效率,在几年前手机游戏开始新出来,游戏公司多,产品相似度高,那么怎么能以最快的速度开发完游戏但是上游戏运营,在快速迭代中试错,降低开发周期那是下降开发成本。在这种环境下,很多脚本语言成了最好啊,诸如nodejs、php甚至另外lua和python(这里多说一句,别看lua语言本身简单,不过lua在游戏领域的使用成本是太高的,最起码在这四种脚本语言中是高了的,毕竟他仅仅一个胶水语言,要托庇于c/c,才是游戏周边的库都要自己造轮子或找轮子,同时是对引擎部分来说,对核心开发人员要求也的很高,如果不是公司也没比较有经验的c/c程序员,lua基本玩不转)。在这些脚本语言面前,java毫无优势。nodejs开箱即用,用js这个可以前后端一同写(html5的流行让这个更是越来越多)。而php入门太容易,开发很简单,而且像一些用http的弱交互游戏,热没更新简直最好不要太爽,无五感修bug。一些很简单休闲游戏,用这些脚本语言彻底也可以很飞快的能够完成,就拿之前比较比较火的刀塔传奇来说,用这些脚本语言一点压力都是没有,有特别是棋牌游戏,脚本语言更是首选。
主要我来说说运行效率,在一些密集型算出的游戏中,c是首选,一些规模大游戏,对换算特别要求很高,业务逻辑复杂的情况下,提升效率就能多承载免费人数,又是成本的下降。同样对内存要求也高,在用c可以不数着内存写代码(手法过多过分[嘤嘤嘤]),对象啥时候先申请,啥时候释放出都是程序员说了算,gc能量消耗不未知的。而java生成的都是字节码,代码执行都要经过jvm来跑,这中间的消耗是对那些对性能特别要求很严苛的程序来说,肯定又不能得到。
偏文科类不超过两点,java处于运行效率和开发效率中间的语言,在游戏这个行业也就是绝对不会受到青睐。
java自学还是培训?各有什么优势?
这对Java如何自学还是培训,只能说各有优劣,相成吧。而且不管是报班学习应该去培训学校报班都不需要自己的自律性,不过怎么学习这种事情,自己放在心上才是关键。但像IT这种不断的更新迭代的行业,你可以要此时此刻自学,时刻充电。要是你仅想找到了工作,后再混工资,应该不建议您你选择IT行业,而且在技术不断更迭的时代,更不上潮流就换句话说要被遭淘汰,如果是想严肃的选择一份事业那你紧接着看呗~
当然报班学习和参加培训并没有过多的区别,也不互相无关,如果不是你的自学能力最优秀,可以看得懂教材,理解能力,思维能力都比较强,学习太久就可以单独出项目的话,完全是不必须参加培训班的,没有必要去浪费钱财。起码应该是怎么学习的宏观性较差,并没有人指引,全靠书本和自己学习,自制力不强的同学不建议您。
如果没有在培训班怎么学习,又是靠自制力的,别以为是报班了就这个可以为非作歹,否则不再好的师资力量也没有用。报了培训班之后,认真领着老师补课老师的学习进度一步一个脚印的努力老师上课,去练习,遇见不很清楚的赶快请教。老师教会你大量的是经验和领教,好处你少走弯路,但培训班会越来越系统吧化的规划课程。但要先杀他天天练习,不不能操作不如你不学。
报班学习优点:节省钱
没基础缺点:学习系统性较差,不容易打退堂鼓,时间比较好久
培训班缺点:很花钱
培训班优点:好像有点监督,学习系统化,少走弯路,遇上问题这个可以协调解决问
如果有兴趣的话,可以不先知道一点再自学,自学这种事情,一直都也是靠自己的。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。