听说Java老古董了 快被淘汰了 高级开发 我还就真看上它了

很多朋友对于Java未来会不会淘汰,为什么这么多人觉得java过时了和java 不建议使用不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

本文目录

  1. 为什么Java不适合游戏开发
  2. Java未来会不会淘汰,为什么这么多人觉得java过时了
  3. 为什么不推荐使用Lombok
  4. 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过时了

Java过时了,但是,不会被淘汰。

不被淘汰,是因为历史原因,很多金融系统使用JavaWeb开发,是无法切换的。倘若说彻底淘汰Java,恐怕也需要50年以上,直到那些旧有的系统淘汰掉,同时新系统使用其他语言编写。

过时,是因为不知道是不是语言过于厚重,Java到现在也无法支持async/await或者协程,Java在非阻塞IO方面停滞不前,流行的spring和jdbc都是阻塞IO,这让Java比起Nodejs,Go效率低下,虽然可以使用nginx之类的非阻塞负载均衡器抵消这种影响,但是却更耗费硬件资源。比方说,JavaSpring写的服务,用8个cpu跑满后面的数据库读写,而NodejsGo只需要2个cpu。

备注:Javanetty受制于Java语言,不支持asyncawait,也不支持协程,使用netty你面临callbackhell,另外,非阻塞数据库连接规范rdbc至今仍然不成熟,代码仓库不完备,缺乏足够测试,缺乏应用,而jdbc仍然是阻塞IO,所有基于jdbc的软件库都不适用netty。

为什么不推荐使用Lombok

目前Lombok并没有爆出有什么坑,还是推荐大家使用的,主要确实是方便和简洁,eclipse和idea都支持这种插件,使用起来特别方便,代码看起来很简洁,如果一个bean对象有二十几个属性,下面一大堆get和set方法,不利于代码的维护,用了Lombok插件,只要写上属性和相应的注解就可以了。

要说有什么缺点,那就是不能你一个人用,得一组人一起用,不然别人同步代码以后会报错。

Java程序员是不是已经烂大街了

现在JAVA程序员工作岗位比较多,同时现在很多公司面试不严格,宽进严出,有人看一看面试题都可以混水摸鱼进去,进去容易,坚持下来的人很少,大部分都是代码搬运工,这些人其实不是严格的JAVA程序员,非常容易转到其他方面,比如做前端、测试、运维、产品、运营。能够坚持做5年以上JAVA开发的人不多。真正JAVA开发人员很缺,JAVA代码搬运工很多。

有很多之前做JAVA的人员后面坚持不下了,不是JAVA这个行业需求少了,而是恰恰相反,出现这种情况的,一方面大量新人的涌入、一方面这个行业随着发展对人才的要求高了,对高级人才的要求有了新的要求,架构师、高级工程师不再是熟练的代码搬运工,要求懂得知识面非常广、要懂原理和创新能力。如果从事JAVA开发工作很多年还是个熟练的代码搬运工,很容易被涌入的新人给你产生巨大的压力。

技术这一行,不仅仅是JAVA,不进则退,很多不求进步的都会离开这个行业,被新人替代,留下来的可以在这个行业深入做下去的,这样这个行业才能持续高速发展下去。

前几年互联网的强劲发展,减缓了不适合JAVA这行深入做下去的人员离场,你只要完成任务就可以,至于你的技术是不是适合这个职位不做过多考虑。随着行业发展他肯定要进行人员优化。

关于Java未来会不会淘汰,为什么这么多人觉得java过时了到此分享完毕,希望能帮助到您。

成都Java培训学费2万值得去吗