故事起因: 最近我有个刚毕业的学生问我说:我感觉现在Java行业已经饱和了,也不是说饱和了,是初级的Java根本就没有公司要,哪怕你不要工资也没公司要你,Java刚学出来,没有任何的项目经验和工作经验,根本就不会有公司要你啊,这是最大的一个问题,而且现在也没有任何公司找初级Java,实习Java,都是要求有工作经验的。我感觉学完以后出来找工作,真的除了靠关系,找到工作的可能性很低。 看完了这个学生对我说的话,我非常疑惑,难道现在的90后都是这个做事态度吗?
这个学生的情况是在大学打了4年游戏。今年毕业才意识到自己什么都没学,不知道听谁说的Java发展好,自己来自学Java。学了不到一个月,心态就出现了问题。他目前的情况是想找高薪工作,又不肯脚踏实地的好好学技术。我不知道是我不了解现在的年轻人,还是90后大部分都是这个状态。 我对于这个学生的评价是:自己什么都没有付出过,想着一切都不可能,大事做不了,小事不肯做。
我做这行也有几年了,目前熟练掌握多门编程语言,对于Java也颇有了解。说一下我目前看到的市场行情吧! 首先我可以负责的告诉这个学生,Java从2015年才开始大量的需求人才,如果Java真的有所谓的“饱和”,那真的是大部分人都要失业了。 现在的发展趋势是任何一家公司都需要“互联网部门”,实体必须对接“互联网+”,不然一定会被淘汰。所以我个人认为完全不用担心Java会饱和的问题,我们人口基数大,任何一个行业都有竞争,这是非常正常的情况。为什么说Java这种技术性的工作饱和,而不说扫大街的会饱和呢?
因为但凡上点档次的技术工作,需要每个人静下心来去学习的时候,有多少人能真正的做到把技术学好?在有技术能力的人面前永远没有饱和的说法,而大部分技术能力很差的,面试了几家工作就觉得找不到工作,就放弃了,这样的人当然会说饱和。可是问题在于你技术学好了没有?你说你基本的技术需求都可以满足,我是不相信谁找不到工作的。除非这个社会乱了,真正有用的人才一定会有工作,这是毋庸置疑的。
其实年年都有人说Java行业饱和了,年年都有人不断的跳入这个行业并且还找到了不错的岗位工作。只要我们自己确定想要走这条路,想要学好,能拿出相应的执行力出来,想要学好Java问题不是很大。
首先我必须声明一点,工作经验工作年限不等于这个人的技术水平。我曾经面试过很多人,有很多四五年工作经验的人不如工作一两年的人,这样的事情非常常见。没有工作经验是正常的,可是没有项目经验就是你自己的问题了。学习技术必须有项目跟着,网上资源那么多,开源项目那么多?自己把整个项目搞清楚,并不是一件特别难的事情。如果连起码的项目都没有,怎么证明你的技术学得好?难道只是看视频吗?这样能找到工作才怪。
1.JavaSE基础:
一定要好好学,很多人都不明白基础的重要性。上来就什么ssm,springBoot,redis。比谁认识的单词多吗?面向对象、字符串处理、集合、IO一定要重点学!
2.JavaWeb前端:不要老一副吊样,觉得自己出去就是后端工程师,不学什么HTML, CSS, JavaScript。老铁,不存在的。进了外包公司你万一发现后台逻辑简单的一逼,就几个接口,反而前端页面切个图都要一天,难道你还好意思暗搓搓问老板:怎么我们公司没有前端的吗?所以前端一定要重视。div+css布局一定要麻溜的,js的dom操作必须给力。jQuery/bootstrap你必须会吧!
3.JavaWeb服务器端:Tomcat目录结构必须了如指掌吧。让你手动部署个webapp总要会吧。哪里配置虚拟主机,哪里改端口号,web-info文件夹下的内容外部无法访问这些都要懂一点吧?这些皮毛都不懂,怎么好意思说自己搞服务器端?jsp和servlet什么关系,servlet最常见的三种创建方式,Javaweb四大域对象,jsp九大内置对象都要知道吧?el表达式必须熟悉吧?mysql增删改查sql语句要会写吧,多表关联、左外右外不能怂吧?jdbc是干嘛的,sql注入是啥,如何用jdbc实现事务等等都要知道吧?
4.框架预备知识:
xml读写操作要知道,反射、内省、泛型不要求精通,但怎么用总要心里有点那个什么数吧。不然你框架学起来就是懵逼的。
5.ssh、ssm框架:不要求你精通底层原理,但是山寨版的原理总要略知一二吧。如何山寨实现IoC容器,如何对dao进行抽取,如何借助反射实现同一个servlet处理多个请求,这些最好都要了解吧。在理解山寨版框架的基础上,把配置多配几遍,做到心里有数。明白每个配置大致起到什么作用。另外,我一向觉得,学习框架必须带着下面的疑问:这个框架没有出现之前,我们的前辈们如何解决的?它的出现解决了哪些痛点?又有什么缺点没有?都是需要去琢磨的。
最后,还是忍不住说一下,很多小白老是觉得框架是学习路上的终极boss。too young, too simple. Sometimes naive! 框架如果不细究底层(我承认底层很复杂),其实完全可以看做很大很大的工具类。只不过以前我们写代码调工具类,现在我们写点代码让框架调…工具类就像钥匙,是工具,我们用它开门。框架就像房子,我们的代码是窗户,窗户是嵌在房子了的。反正,框架不是大boss,你的项目经验和编码能力才是拦路虎!
针对学习心态这个问题,在这里我详细的说一下,以此解除大家心中的疑惑,主要存在这三点问题:
1.你到底理没理解?
2.你到底能不能应用起来?
3.你到底用没用心?
你自己应该是最清楚的,我发现那些把学习当做完成任务一样去对待的,这样的人没有一个是有耐心的,自己在心里欺骗自己“把这些视频看完我就能找到工作”,到了最后自己就逐渐明白,完全是自欺欺人,最后放弃说自己不适合学这个。其实揭开这些人的面具真相就一个:他们没有耐心学习,也不喜欢学习,这是以前经历造成的,是多年的习惯导致的。
所以正确的学习心态一定是把关注点放到学习这件事本身,你要学会这些知识,这些内容,这些技术,这是需要一天一天逐渐积累起来的,并不是短时间就可以达到什么结果。
PS:如果你对于学习没什么耐心,没什么兴趣,我劝你不要来学习编程,学习编程绝对是一个耐心的活,也是需要不断学习和充电的行业。或者说已经到了信息时代,不爱学习的人,很难有耐心去学习知识的人,在信息时代是混不下去的,任何行业都是如此,不学习不进步不紧贴时代的人就一定会被淘汰。
第一、有超强的学习耐心及进取心。
第二、手不懒,代码写的足够多,熟能生巧
第三、有一定的学习能力,善于自学善于自己解决问题
第四、可以独立写一些简单的项目
以上的内容我都是完全站在Java初学者的角度来说,就是希望能用通俗易懂的语言让大家清晰的明白学习Java全面系统的学习内容,以及应该达到什么程度才能拿到一份Java工作的offer,希望可以给大家带来帮助。
这里给大家推荐一套Alibaba内部出品贼火的Java面试手册,全面对标蚂蚁金服、头条、拼多多等!如有需要可点击文末名片免费领取!
点击名片即可免费领取!本文专为需要面试JAVA技术岗的程序员朋友准备,面试前多看多学,才能在应对面试官的时候侃侃而谈。也许你只是比别人多花了十天时间准备,往后的人生便会大不相同。