初衷
最近由于
1.png
算是装x了一把,导致最近挺多在校生或者编程初学者关注了我的微信公众号【饭谈编程】
害羞.png然后紧急着而来的便是
3.png
4.png
类似的问题。
其实关于如何学习Java这个已经是个老生常谈的问题,也明白其实我没什么资格做你们的指导人,只是竟然这么多人问了,作为你们的老学长【其实我才毕业还不到一年(✿◡‿◡) 】,就想将我自己的经历以及经历后认为更好的方式和你们探讨下,毕竟看见别人怎么过来的,你们心底也会多一份自信,事实上我一直想对我母校的师弟师妹们聊聊这个话题,可惜一直很忙没时间回学校看望他们。
那么新手该如何学习Java呢
大一的时候我们专业的课程是C++【分为上下部分,一学年教完】,我大概是在大一第一学期便自学完C++的上下部分,之后由于个人有着想做网站和app的冲动,所以便在大一第二学期开始自学Java。
温馨提示一下
个人经历告诉我,如果有其他编程语言的基础,那么入手另一门语言是及其简单的事情,只要多敲几个实例,然后找本书看就可以了,当然了,我这里说的是入手,如果要做到应用并且熟悉那是远远不够的,因为每一门语言都有自己的特性和精妙的地方,比如学过C语言的对于对象其实没什么概念,而学习Java经常会看到的一句话便是万物皆对象。
那么我自学Java看的是哪本书呢?
我一开始入门学习的书籍是
没错,就是这本疯狂Java讲义,这本书籍虽然很厚,但是确实是很不错的,李刚老师的书籍写的很详细,而且实操例子也很多,【经常问我找Java学习例子的师弟师妹们,重点来啦哈,可以看这本,里边很多经典例子,如五子棋、聊天室都有】
基本看了三分之二后,对Java算是能够应用了。
当然了,疯狂Java讲义是我个人学习的入门书籍,目前网络上众多大神推荐的书籍是 6.png
以及
7.png
不可否认,这两本书确实很经典,我第一年入职被要求一个月看完的书籍便是《Effective Java》,目前也在断断续续的看《Java编程思想》,做为入门书籍,这三本书籍都是不错的,可以混合着来,谁说入门只能看一本是吧ヾ(≧O≦)〃嗷~
大致看完以上的书籍并且有跟着书籍的demo写几行代码的,都会或多或少了解到并且迫切想学习数据库mysql以及三大框架了,也就相当于接触到了企业中常用的技术。
如何学习数据库
关于数据库,这里只讨论下mysql,因为从我个人经历上来说貌似只有mysql可以说了(@_@;),毕竟比较cxk。同样我是在大一下学期的时候接触到mysql的,因为做应用需要,记得那个时候是为了参加学校的一个系的软件设计大赛。
同样先提下我学习数据库的入门书籍是什么呢?
抱歉,不装逼的说我是通过菜鸟教程自学的
因为数据库是比较基础的东西,和Java语言不同,如果研究的很基础,比如数据库引擎,在那个时候的我看来是很有难度的,也学不会,因此我选择先从使用入手,事实证明我这条路的选择是正确的,在大一下学期的系级软件设计大赛中我【包括两个队友】成功拿到了系级一等奖。
其实,对于初学者来说,很容易陷入一种深入学习的思维,然后越深入越发现搞不懂,最后陷入自我怀疑,然后放弃,这也就是为什么会出现从学习xxx到弃疗的原因了。原因很简单,因为你连使用都不熟悉,那么谈何深入的去了解呢?所以到目前为止我都是比较推荐先使用再深入了解的学习模式。
对于已经对数据库的使用有了一定的感觉后,那么深入学习数据库便很有必要了,这里我推荐的书籍是
个人觉得这是一本很不错的书籍,在我们几个朋友里边【都是比较厉害的后端大神】都是看这本书成长过来的。
以及
8.png
从这本存储引擎书籍里边学到的数据库底层模型成功让我忽悠过几个面试官,不得不说我成功拿到校招12*13的offer这本书有一定的功劳。
当然了,这两本书都是比较深入的,建议慢慢看。
关于三大框架
基本上学习Java的都会迫不及待的想做网站,那么就绕不过三大框架了。这里说的三大框架着重指的是ssm,也就是spring、springmvc、mybatis,很多学校也会从structs、hibernate先入手教学。
这里我要说一句了,教structs、hibernate不是说不可以,虽然编程思想最后都是一样的,但事实上structs、hibernate已经是很落后的技术了,外面大部分的互联网公司都是用ssm甚至是springboot,当然了,如果你工作的时候运气不好碰到的公司刚好技术旧,其实也是有可能的哈哈哈。不过嘛,个人建议还是要跟着时代在发展的,因此我是从ssm开始入手学习的,这里暂时不说springboot哈。
我是如何学习ssm三大框架的
这里依旧推荐先使用再深入了解的学习模式,关于三大框架的学习,在当时问过很多师兄和老师,推荐的书籍是
不可否认的是这是一本极其经典的书籍,经典到目前为止我都要经常重新回去复习的程度。
我在学习三大框架的时候是跳着读完这本书的,是先了解了大概,没有深入,也无法深入,先知道了spring和springmvc是什么以及怎么使用,之后便开始尝试搭建一个基于ssm的网站。
当初我搭建的项目是https://gitee.com/xi_fan/CompanyManager
算是很多年前老项目了,已经年久失修了。
通过搭建这个项目,我了解到了mybaties以及maven是什么,对于初学者来说一次遇见两个技术确实会感觉有点头疼,这点我深有体。
不过我想说的是,无论学习什么技术,都是一个过程,先学会使用再深入了解。
所以在当初,我一开始是是先无视掉这两个东西,先让项目搭建成功并且跑起来,当然了,肯定踩了很多坑,所以就通过翻查资料或者百度谷歌方式去解决问题,而恰巧通过这个解决的过程,我对三大框架以及maven的使用更加的熟悉,和有感觉,之后我便是等成功跑起来后再从项目的源码中往回看三大框架和maven的使用,做笔记。
深入了解框架是什么
等对框架的搭配使用已经很熟悉的时候就会开始想了解框架是什么了,这个时候再回头深入的去品读【spring实战】,才有事半功倍的效果。
自增长
基本上对于0基础学Java的初学者来说,认认真真的学完Java基础知识、数据库、三大框架会搭建个网站,后面其实就会产生一个自增长的意识了,到了这里你会自然而然的发现会使用这些东西知识刚刚入门,你会发现到自己的不足,接下来你还要更全面、更深入的学习它们,并且你也会发现除了这些应用层面的东西,你会发现数据结构、算法、计算机网络、操作系统等很多知识都是很重要的。
而走到这一步了,之后的东西我都无法再给你建议了,因为目前我也只是走到自增长的这一步,如果你有兴趣可以和我私聊,我可以和你说说我自己接下来的行程是什么样的,一起探讨一起进步。
写在最后
以上便是对我大学过程中学习Java过程的一个总结,希望可以对刚入门的大家有一定的指引作用。
以上提到的书籍,如果经济上允许的话建议还是人手买一本,支持正版。
疯狂Java讲义 : https://u.jd.com/rPI3vl
Effective Java 中文版 :https://u.jd.com/KVTSxZ
Java编程思想 : https://u.jd.com/GUOhBA
Mysql核心技术与实践 :https://u.jd.com/G6dfQV
MySQL内核:InnoDB存储引擎 :https://u.jd.com/XFxWhr
Spring实战 :https://u.jd.com/EoiH9g
看了下,上面有些书确实贵。如果经济上不允许,或者想先看看电子版的【对于贫穷人出生的我,就是看电子书过来的】,我已经把相关书籍放到百度云,大家可以自行下载。
由于微信限制,导致无法直接分享云链接,因此有需要的只能关注微信号发送666获取分享链接。
最后的最后
这篇文章确实都是有感而发,并且是根据自身的经历写的,对于已经进入自增长期的老哥笑看即可,如果某些文不着调或者让你感觉反感了,请见谅!最后再次强调,我的初衷更多的是将自己的经历以及经历后认为更好的方式和你们探讨下。
欢迎关注公众号
公众号主营:服务端编程相关技术解说┗|`O′|┛ 嗷~~
公众号副业:各种陪聊吹水(o≖◡≖),包括技术、就业、人生经历、大学生活、内推等等,欢迎一起侃大山
公众号.jpg
网友评论