Java学习到什么程度可以找第一份工作? - Go语言中文社区

Java学习到什么程度可以找第一份工作?


很多初学者在刚开始学习Java的时候,都会问学到什么程度可以找到第一份工作,那么我分下面几个维度讲:

1.最低什么程度就可以出去碰碰运气?

我这里并不是教大家投机取巧,而是为不了解求职的小白朋友提供一个参考。理论上当然是基础越牢固越好,你最好把科班的“四大课”都啃了。

就我自己做外包的经验,基本上培训视频中ssm框架往后教的就用不太到了,什么redis,ActiveMQ负载均衡等等,都用不太到(但我不敢打包票)。而且你一个零基础的,学了能咋滴?工作一两年的人都没怎么搞透的技术,你还能用它写出花?最多学会几个单词罢了。总之,如果你没有朋友内推,没有过人天赋,我默认你和我一样,学得再好几个月刚出来也就外包水平。那么既然做外包,视频中电商项目啦、高并发这些都和你没什么关系了。甚至什么maven也和你没什么关系。什么?你说导包太繁琐、自己不会独立搭建ssm框架?别逗了老铁,给你几千块,你还真当自己是架构师啊…外包工作基本就是ssm一套,前端搞个layui或者easyui这种第三方模块化框架凑合一下,而这些环境都是项目经理给你搭好的,你就是增删改查而已。另外,你要知道,外包很少有什么前端工程师、后端工程师之分的,给你一把键盘,你就是从前台页面撸到后台数据库的“全绽”工程师。也就是什么都会一点,但是代码都是“破绽”的码农。所以有心思搞什么高并发,还是学好怎么切图做页面吧。


但我也要对我说的话负责,万一你们心直,信了我的话,学完ssm就出去骗钱,然后被社会主义无情扇耳光,我也是很心痛的。给个重点吧:

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,你的项目经验和编码能力才是拦路虎!

2.学到什么程度比较保险?

那这个就没有上限了。你面试上去就说:我,20年开发经验,6岁开始开发。对方就应该准备递烟了。但是很显然,你没有经验。没有经验,那么大公司就会要求你基础要扎实。你越往后学,就会越发现自己和科班出身的朋友的差距。就好比你开车,能到目的地不被违章拍照就好了。而人家开车,考虑的是乘客的舒适性、耗油、轮胎磨损等等。这个时候,是不是老司机就高下立判了。你没有底层知识的支撑,难免浮沙筑高台。要么后期心有余力不足,要么垮了。所以,我建议啊,培训班视频ssm后面的内容可以看,也鼓励多学一点。但是能掌握多少,到时你自己就知道了。压根就是天书,听完就忘。你只是学到几个高级单词,还心里美滋滋。所以还在校,不急着找工作的朋友,建议数据结构,操作系统有时间都学学。万一你出来找不到工作,还可以曲线救国,先去考个计算机的研究生,然后出来报复社会呢?考研基本上数据结构,操作系统必考啊…

最后呢,建议大家不要执着。现在转行工作真的不好找。360行,哪条不是路呢?更不要贸然裸辞,今天看IT人傻钱多,第二天就裸辞。脱衣服都没见你这么快的。大可以先自学试试,万一你发现你一学编程就脱发,女朋友就闹着分手呢?

最后,给个路线吧,我8个月学出来差点找不到工作,很是心酸。但是有了我这个路线相信你只要6个月

你可能觉得自己能一天学习8小时,实际上平均下来每天能学4小时都算厉害了。总会有各种原因,比如当天内容太难,公司聚会,要出差等等。如果周末你也是坚持学习,那么最理想状况下,6个半月就可以学完,达到工作后能被人带的水平。但我知道那其实基本不可能。我自己从完全零基础,到学C语言,到学Java,除去中间断开的两个月,已经学习10个月。当然,这和我边工作边学习,以及没有人帮我找资料有很大关系。很多时间花在找资料上了。如果你已经经历过JavaSE的洗礼,会明白,我这篇回答对现在迷茫的你份量有多重。

【1,启蒙阶段】

同样地,花了3天经历了入门语言选python还是C的纠结后,我最终选择看郝斌老师的C语言视频入门。

这个阶段与其说学C,不如说懂一些基本的编程知识,比如:循环结构,数组,简单的内存分配原理,指针概念等。郝斌老师的C语言视频,对小白非常友好,启蒙教育做得很好!

如果时间不是很宽裕,可以直接从下面的JavaSE视频开始,看自己能否接受。

如果时间比较宽裕,喜欢循序渐进,培养兴趣了解一些计算机知识,那么可以看看。

我个人觉得郝斌老师讲课很有魅力,我喜欢听他唠嗑。像一位好朋友娓娓道来。

(很多人不学C也能很好学习Java,大家自己看着办)

【2,JavaSE基础】

JavaSE阶段,建议完全零基础的朋友,直接看刘意老师的,辅助看毕老师的。当然,也可以都试看一下再决定,每个人喜好不同。放心,完全零基础的朋友,一遍肯定学不会。所以同一套视频看两遍都算少了。另外,有时一个老师的观点是片面的,要结合不同老师的讲解才可能对一个知识点有更全面深刻的理解(前提是先把一个老师的讲解吃透)。所以我是建议刘意和毕向东的都至少看两遍。

具体建议后面会给出。

<对零基础学习者的建议>

0,看视频学习,不要看书学习。我自己是日语专业的,此前完全没有接触过编程,对编程是完全没概念的。知乎上很多人都说看视频慢,建议直接看优秀的书籍,所以我就买了C语言的一些书和Java的一些书(都是初学入门的),但都看不懂,看不下去。反而是后期跟着视频学习一段时间后,再翻开书本(其实几乎没看过书),慢慢能知道书里在讲什么了。大家千万不要觉得看视频会显得自己学习能力不够强。实际上,大学选择计算机专业的同学,又有多少比例是不靠老师上课,自己躲图书馆把编程学会的呢?从这个角度来说,看视频相当于大学课堂听课。并没什么不妥。

1,不懂的知识点视频多看几遍,如果视频有配套笔记,第二天起来复习一遍,加深印象。自己也可用word做笔记,写学习日志。JavaSE有不懂的,可以百度或谷歌,看看别人的技术博客。再回过头看视频可能就突然明白了。因为我也这么试过,对我帮助很大,希望你也能试试。

2,根据视频内容画思维导图!

画思维导图的好处在我看来至少有两个:

  • 理清讲解思路,让自己有全局观。初学Java,每一天的视频刚听完就基本忘得差不多了。很多知识点脑海中也只剩下一个名词,具体讲了什么已经记不得!做笔记长远来看是最省时间的。因为笔记内容都是自己消化过的,后期不用再去看视频复习(太麻烦了),直接看自己的笔记效率更高!反而蜻蜓点水,不做笔记一味求快的人,学到后面跟不上。因为这些知识点你只是听懂了,而不是理解,也没有实际编码操作过,印象是不深的!!
  • 方便日后复习,以及遗忘时的检索回忆。

下面是我的思维导图截图(windows可以使用Xmind)思维导图可以很好地帮助我们理清知识点
思维导图要自己做,自己看,效果最好。看别人的基本没效果。

我目前是在职Java开发,如果你现在也在学习Java,在入门学习Java的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,你都可以申请加入我的Java新手交流群:798844620,有任何不懂的都可以随时在问,里面还有最新的Java基础精讲视频教程,群文件里面还有我做Java技术这段时间整理的一些学习手册,面试题,开发工具,PDF文档书籍教程,需要的话都可以自行来获取下载。

3,初级阶段不建议买任何书籍,专心看视频和附带的笔记足够了。包括知乎上推荐的《head first Java》,《疯狂Java讲义》,《Java核心技术》都不太适合现阶段完全零基础的我们。太厚,知识点太详细。要知道,我们现在刚学完C,才了解编程的循环语句而已。再怎么好的入门书籍,它对受众也是有一定要求的。而这个阶段的我们,就像小婴儿,即使给我们一辆带辅助轮的自行车,我们也骑不了…我买过一本《疯狂Java讲义》,就翻了几次。看着密密麻麻完全不熟悉的知识点,很烦躁很焦虑。当然,我不是说看书不好,只是本阶段不推荐。至少我从零基础到学习框架,从书本上学到的可能就占了0.5%,看博客学到的也比书本多。几乎完全是靠视频学来的。而且视频也有源码和笔记,已经很方便。

对零基础的学习者来说,JavaSE的学习非常困难。比如我,学了一个多月才学到毕老师的异常一章。之前在面向对象一章就已经很崩溃,哪知异常也这么抽象,完全不知道它是干嘛的…很多人是科班出身,早就忘了当初自己连软件都不会装的窘境。就像我们现在根本不会觉得用筷子还需要学习,但你爸妈当年为了教你用筷子,可是头疼过不止一次呢!

<JavaSE学习重点参考>

初学者也容易想走捷径。我相信很多人都会有这个想法:能不能只学工作上要用的?根本原因是知识点真的太多了。以刘意老师视频为例,面向对象(封装,继承,多态),异常,多线程,集合框架,IO,网络编程都挺难的。其中面向对象是JavaSE的重中之重,里面的知识点个人认为是最难的。后面的知识点都是建立在这之上展开的,没学好面向对象,后面就会稀里糊涂。

当然,也不是真的一点都不能跳,但最好完整地学下来。

按照后面JavaWeb的学习来看,我的建议是:

  • 面向对象是基石,JavaSE中最重要的一是集合,二是IO,希望大家学习这两个知识点时认真对待,多敲代码,多思考。
  • 常用API里,String及其相关类StringBuilder, StringBuffer等必须熟悉,后面会不断用到。不学好的话,后面怎么死都不知道!
  • 泛型一般只出现在集合中,个人觉得如果一时无法掌握,那么暂时会在集合中使用泛型就行了。
  • 反射对于初学者来说是非常抽象的!!但它又无比重要。它虽然不是JavaSE的重点,但是它是JavaWeb很多难点的底层支撑,不懂反射,寸步难行。

重点

  • 面向对象☆☆☆☆☆
  • 集合☆☆☆☆☆
  • IO ☆☆☆☆☆
  • String/StringBuffer/StringBuilder ☆☆☆☆☆
  • 反射☆☆☆☆☆
  • 泛型☆☆☆☆

熟悉

  • 异常
  • 多线程

先过一遍

  • 网络编程
  • 正则表达式

【3,JavaSE之后干嘛】

我当时学完毕老师的25天后,迷茫了很久…根本不知道下一步怎么走,该看谁的视频好一点。后来才知道毕老师原来还有35天、30天、33天版的Java基础视频。但我已经没时间重新都看一遍了,直接开始了崔老师JavaWeb的学习。学到JDBC后发现基础实在太差,学不下去。又回过头学习了刘意老师的JavaSE视频。

我觉得如果选择一家培训机构的视频,就看他们全套的。因为知识点安排和讲课风格会大体接近,比较熟悉。当你发现视频讲得有点浅,说明你学的还不错。此时你想理解得更深的话,不要再找视频了,视频都是给初学者的,点到即止(不论哪家的视频)。直接去看书,《Java编程思想》保证够深。但还是忍住,先往后学JavaWeb吧!

<JavaWeb学习重点参考>

【前端部分】

  • 首先,学习html和css后记得做一个小案例,快速熟悉标签使用。你可以不做,但是你会记不住。不信你试试。这是我当时看完视频,完成的练手页面:

  • 学习JavaScript的dom操作时,留个心眼,多关注。js的dom学好了,对后面学习xml的dom也会有帮助。dom4j重点练习,试着自己封装一个小工具。这两个dom都很重要。
  • JavaWeb的反射就当复习,好好学。

【JavaWeb核心技术】

  • tomcat一定要跟着视频配置一遍。光看视频是记不住的!!
  • Http协议和Servlet超级重要,多看几遍,看一遍你会晕,东西太多了。建议做一下思维导图,理清知识点。
  • request和response很重要,也很难。request域超级重要。多看几遍,不要心急。
  • cookie、session、JSP很重要。多看几遍,不要心急。session域超级重要。

JavaWeb总共四大域对象,都是很重要的。

  • day12-13,老实说,我只记得${EL表达式},知道怎么导入JSTL标签库<%@…>和核心库的使用。其他的都忘了。
  • day14一定要跟着敲,因为后面的小案例都是在这个上面扩展。这个不敲,后面的敲不了!
  • day15-19算一个小周期,都是数据库操作。还是那句话,跟着敲,才记得住。
  • day17~19JDBC的内容是崔老师视频的第一个精华!!其他视频难以超越的讲解!!搞清楚TxQueryRunner的编写思想对后面学习框架和框架如何实现事务有四两拨千斤的功效!
  • 相比servlet,监听器和过滤器也挺重要,但老师有点一带而过的感觉,暂作了解。
  • 上传下载和JavaMail挺复杂的。我反正第一次没掌握,以后回过头再学吧…但这些后面的项目会用到。
  • Ajax,很重要,但是对于我们可能有点难,但现在和json一起用的越来越多,要好好学!崔老师讲的是原生Ajax,看完后去看就业班的就很容易了!
  • 综合练习,一定要敲,即使你觉得很难,也要硬着头皮敲完。敲完以后,自信心暴涨,那时你自己对JavaWeb那些知识点是重要的哪些是次要就会有自己的理解。重要的知识点,在你心里沉淀出来。就是这么神奇!!
  • 后面的基础加强,崔老师视频的第二个精华!!收获也很大。直接提升到另一个境界。为学习框架做铺垫。也算崔老师的道别礼物。

学习路线建议

1,JavaSE(建议三个月):
毕向东任意版(启蒙或辅助)
小白人生导师,强烈推荐,两遍
刘意JavaSE(深入浅出精华版,主看这个)
2014年年底录制,和后面Javaweb比较配,两遍

毕向东JavaSE25天版由于有点老了,整个解说都没用eclipse,不利于小白掌握eclipse使用。但内容真心不错很照顾初学者。我自己初学Java看的是25天版本,后来又看了刘意老师的。毕老师的30天版里的多线程比25天版本讲得好,也讲了前端知识。

JavaSE小结:
主看刘意。
毕向东视频作为补充,重点看他的面向对象,集合,IO,30天版多线程很不错。
学完JavaSE先看下面的视频,会让你对前面所学和后面将学的内容有个整体认识,毕竟你可能从学JavaSE的第一天起就反复问自己:这特么学了有啥用?

2,JavaWeb(建议两个月):
崔希凡——超全面的JavaWeb视频
和刘意的JavaSE衔接比较好,同样深入浅出。day14和day2426的项目,day1719的JDBC以及最后两天的基础提高非常棒,强烈推荐,两遍。

唯一的遗憾是这套视频没有jQuery和bootstrap 等前端内容,需要自己另外找。jQuery可以去菜鸟教程或者w3cschool学一下就好了。或者看就业班的。农历新年我会更新进阶版的学习路线,里面会补充。

3,ssh框架(按顺序,建议20天,快速过一遍):
了解思想就好,重点掌握Spring。Struts2和Hibernate基本不用了。
崔希凡Struts2 + 刘悦东ssh框架 + 王泽2016ssh框架 + 王泽ssh综合项目实战

①崔希凡Struts2(衔接JavaWeb,作为过渡)
②刘悦东ssh框架(Struts2讲得不错)+ 梁桐spring(可跳过)
③王泽2016ssh框架(言简意赅,思路清晰) + ssh综合项目实战(最后Dao抽取不错)

崔老师的Struts2毕竟是2013年的,有点老了,会比较琐碎。最重要的是,现在Struts2都不怎用了,作为了解的话,主要看值栈和拦截器,了解思想。
这部分视频主要是为了给JavaWeb看崔老师视频的朋友一个过渡。怕你们舍不得崔老师。其实其他老师框架也讲得非常好。比如刘悦东,广陵散等。

看完崔Struts2,就看刘悦东的框架,hibernate重点了解思想,Struts2几个视频中他讲得最好最深。

最后,有了上面的铺垫,再看王泽的ssh2016,条理非常清晰,精炼,没有一句废话。每天只有2.5小时。过一遍很快。

为什么三个框架要看这么多视频?因为零基础初学者要进入框架学习其实需要适应时间。就好比广陵散(王泽)的,我一开始就是看他的,当时就想:什么东西?上来就讲一大堆配置?学习任何东西我都希望能知其然知其所以然,比较讨厌死记硬背。所以我列的视频顺序,是为了照顾初学者心理。如果你觉得能接受一上来就讲配置,那么SSH其实只要看Spring。然后就直接看Mybatis和SpringMvc。毕竟现在公司已经淘汰Struts2和Hibernate。

学习任何框架一定要知道,在没有它之前,前人是怎么做的,那样做存在哪些弊端,而框架又是怎么解决的。这样学才能形自己的理解。刘悦东和崔希凡算是课程上得比较有意思的。让他们带你们入门,心里好接受些。

但框架东西毕竟太多,最终还是要王泽这样精炼简洁的讲解给你们梳理一遍。
最后跟着王泽的ssh项目做一遍,ssh框架也就算入门了。struts2和hibernate理解思想即可,因为不用了!!但也不要走过场。你不了解Struts2和Hibernate,你就不知道学习SpringMVC和MyBatis有什么好处,各自的优缺点是什么,因为没有对比!!
我的建议是,Struts2和Hibernate做做笔记,了解思想。不用去敲代码。把你的大脑空出来给后面的springmvc和mybatis。都学的话,会混!!

3.5,崔希凡JavaWeb(day1719,day2728)
Javaweb阶段你可能觉得上面这几天内容不明觉厉,但又不知道具体有何用处。等你学完SSH就会发现这部分内容是真的很吊。看崔老师的JDBC能一窥框架的事务原理,基础加强讲到了如何利用注解+反射搭建山寨版的hibernate和spring。

4,SSM框架(重点中的重点)
①李旭讲的mybatis和springmvc
②黑马的《springmvc、Mybatis由浅入深教程》
③在掌握了上面的视频内容并有自己的一些见解后再去看尚硅谷的Mybatis,有稍微讲一下源码。

之所以先看李旭的springmvc和mybatis,原因无他,就因为他只讲重点,讲得快。总共十小时,讲完两套框架。如果你领悟力够强,理论上就成了。但绝大部分人都不可能看这么一套视频就会用sm框架。所以在看李旭的视频时,要随时记录自己的疑问,然后看燕青的视频时,带着疑问去学习。mybatis主要关注输入映射+sql配置+输出映射,了解mybatis如何解决jdbc的不足。springmvc没什么建议…自己看着办。

5,学习方法:
小白自学的难点在于:
1,找不到合适的资料。
2,不知道学习重点。

我的学习路线,是个人认为最适合小白的。
至于学习方法,即使我这篇文章给出了重点,可能你们还是不会相信。所以我建议:不要想着彻底掌握一块知识点再去学下一块知识点,这样永远不可能把这一套视频学好。

你应该在理解的前提下用最快的时间完整过一遍,对整体学习路线有个把握。第一次学习争取每个知识点懂个50-60%,专门搞个txt文档记录观看过程中的疑问点,从后面的内容判断前面哪些知识点是重要的,常用的。然后回过头来有重点地攻克,抓大放小。

最后,我推荐的视频都是自己用过的,对比挑出来的。尽量追求深入浅出,通俗易懂。如果你觉得没看懂,就多看几遍!!“多看几遍”是最简单朴素道理,很奏效。但是很少有人相信。其他的跟着视频就好。前期用记事本工具,我用的是notepad++,你也可以用EditPlus。后期用MyEclipse,其实就是多了插件的eclipse。要尽快熟悉MyEclipse的各种快捷键。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/ycx2019/article/details/107530699
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-12 17:32:31
  • 阅读 ( 869 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢