0基础Java自学之路

程序人生 专栏收录该内容
16 篇文章 17 订阅

微信搜索【程序员囧辉】,关注这个坚持分享技术干货的程序员。

前言

本文已经出了最新版,建议查询最新版:0 基础 Java 自学之路(2021年最新版)

 

最近逛知乎的时候,经常看到有人在问“0基础如何自学Java”、“干了几年**,想转行干Java靠谱吗”等问题。不禁让我回想起了自己当初自学Java的日子,因此在这个周末花了点时间,整理了这篇文章,希望对这些正打算自学Java的或者打算转行Java的人有点帮助。

 

我的自学之路

先告诉你们我的自学过程可能让你们有点参考。

大三的时候,班主任请了2个已经拿到offer的实验室同学来跟我们传授一些经验。听完对自己的感触挺大的,自己也第一次认真的考虑了就业的问题,当时感觉自己什么都不会,学了点C语言也不知道能干什么。在当时我的心里,特别羡慕那些能开发出一个网站的同学。因此,自己也把目标定为:要搞网站开发。在询问了一些有经验的同学后,开始踏入了自学Java的道路。

我也忘了当时是怎么找到马士兵的视频的,在听了马老师的教程后,我被马老师讲课的方式和声音深深的吸引了,因此就在网上到处找马老师的教程,于是,我当时Java的所有知识几乎都是从马老师这学的。马老师的教程尽管在现在来看有点老,并且有人说内容有错误的地方,但是我个人仍然觉得是一个很好的Java入门教程,并且也看到过很多人跟我有同样的想法。马老师讲课的声音很好听,并且有点幽默,不会很枯燥。

大三的课程已经很少了,凑到一起估计一周就2天的课,我在其他的时间基本都会搬着电脑去学院的实验室里学习(实验室氛围好)。在大三的那个寒假,我在家里每天也至少保持4-6小时的学习。

由于大四刚开学就马上要校招了,因此在大三的暑假,我也是在学校度过的,当时我们宿舍有1个出去实习了(培训过),然后我们剩下3个都没回去,还有1个其他宿舍的搬来我们宿舍。我们4个基本都是学习半天,联机CS半天,氛围贼hi,现在想起来还挺怀念的。

通过大三这一年的学习,我也终于能开发一个小型的网站了,这也帮助我在大四春招刚开始的时候就拿到了第一份offer。

 

几点经验/建议

  1. 看了我的自学之路,相信你们也看出来了,自学是一个既寂寞又漫长的过程,每天默默的背着电脑到实验室呆到天黑,大学的诱惑如此之多,能静下心来特别不容易。
  2. 我个人感觉,企业在校招时,会适当的放低要求,但会比较看重你的学习能力,因为你的学习能力代表着你未来的高度,如果你是自学的在这方面会有加分。如果你不是学生,而是想转行入It的,意味着你必须付出更多的努力,因为企业对于非校招生的要求一般都比较高。
  3. 如果你现在大二,恭喜你,你的起点已经比我高了。如果你已经大三了,那也没关系,抓紧时间开始动起来,时间还来得及。
  4. 如果你现在大一,我想对你说:不要把大学的时间浪费了,每天花点时间学习,你会发现,你毕业的时候比别人厉害太多了。我现在经常懊恼自己大学的时候花了太多时间在玩游戏上面,但是时间不会倒退,我们只有做好现在。
  5. 如果你想在It行业混的不错,需要不断的学习,先问问自己能否做到。
  6. 自学的过程一定要敲代码,不要只看不动手,只看不动手到最后你什么都敲不出来。
  7. 如果班上有Java学的好的同学,跟他搞好关系(请吃饭啥的,你懂的),遇到不会的多向他请教。初学者有问题没地方问的话很伤,会让你学习的进度大大减慢。

 

学习过程

废话了那么多,下面进入正文,整个学习过程,大概分5个阶段。

1.Java基础

  • 计算机基础、Java简介、JDK下载安装、JDK环境变量配置、第一个程序HelloWorld。
  • Java基础语法、面向对象、异常处理、数组、多态、集合、IO、线程、反射等。

 

2.SQL语句、JDBC及MySQL学习

  • 包括SQL简介、SQL基础语法、SELECT、UPDATE、INSERT和DELETE语句的基本使用。
  • JDBC的基本使用。
  • MySQL的使用。

 

3.Java Web相关内容

  • HTML、CSS和JavaScript的基本使用(能看懂、能照着改就OK)。
  • Servlet和Jsp的基本使用。
  • 了解Session、Cookie。
  • 了解Ajax、jQuery等。
  • 实战JavaWeb项目将上面的内容串起来。

 

4.Java EE相关内容。

  • Spring + Spring MVC + Mybatis(或Struts 2 + Spring + Hibernate)框架学习。
  • SSH/SSM框架的相关项目实战训练(至少2-3个)。

 

5.其他一些高频知识

  • 常见的设计模式:例如单例模式。
  • Maven的使用。
  • GIT和SVN的使用。

 

学完这些,如果你还有时间,千万不要就此放松了,将上面的知识在反复熟练。此时,你可能已经可以进行一些基本的功能开发了,但是有很多原理的东西都还不理解。因此,还需要针对面试准备一段时间,主要是看那些高频的初级面试题。网上很多,随便搜一下都有。

 

教程获取

针对以上这些知识点网上很多培训网站都有视频教程,大家可以自己去拿自己需要的。另外,本人花了半天时间将自己当时看的视频教程找了出来,痛苦的一匹,海里捞针一样,很多自己还要下载下来确认,可能比较老了,但是还是很不错的。

由于直接放地址在这边,链接太容易无效了,所以有需要的请关注我的个人公众号(文末有二维码),发送关键字 “JAVA自学之路” 自行获取。

 

结语

最后,送大家几句我很喜欢的励志佳句,也希望文章对你有帮助。

  • 将来的你一定会感激现在拼命的自己。
  • 你必须非常努力,才能看起来毫不费力。
  • 当你的才华还撑不起你的野心的时候,你就应该静下心来学习。
  • Thought is already is late, exactly is the earliest time.
  • 越努力,越幸运。

 

另外,我还准备了很多大厂面试资料、0基础自学教程,由于不能放外链,所以有需要的小伙伴去公众号【程序员囧辉】回复【资料】自行获取好了。

有不少的同学发信给我,和我探讨java自学过程应该是什么样的,毕竟有很多人因为各种各样的原因不能参加培训。我试着给出自己的见解,抛砖引玉吧。 这个线图是给那些为了就业的人准备的,如果只是兴趣,不一定照这个走。 这里只是讲了线图,关于线中的各个阶段,学到什么程度,如何学习等,可以参考后面的JAVA自学之路 七:《线图明细》。 首先要学JavaSE,这是无庸置疑的。 与此同时,是的,与此同时,和JavaSE的学习同步,建议大家研究一下数据结构与算法。 在这儿之后,你可以选择向J2ME、或者Java GUI、Socket编程等方向努力,但是通过第一篇的办法,你可以很容易就将这方向过滤掉(永远不要忘了我们是为了就业),好吧,暂时和它们诀别,还是向着J2EE的方向前进吧。 在JavaSE完成之后,可以试着完成一些小项目,同时关注一下设计模式的内容,不必强求自己能够完全掌握各种细节,往前走吧。 掌握一种编程工具,比如说Eclipse。 数据库,可以选择使用Oracle或者MySQL开始 。 JDBC,用Java连接数据库。 可以选择在这个地方切入Hibernate,也可以选择在Struts 之后。 HTML CSS JavaScript,这些东西是做web项目必需的内容 。 Servlet JSP,服务器端必需。 XML AJAX,新的流行趋势不能不了解。 作一些小项目吧。比如BBS、留言系统、学籍管理、商城等等,随便着一些业务逻辑比较简单的来做一做。 Struts,MVC的典型应用 Hibernate,OR Mapping的典范之作。 Spring IOC + AOP, 面向对象 + 面向切面,完善的旅程。 把以前自己的小项目加入Struts、Spring、Hibernate的元素吧。 去研究各种商业项目的业务逻辑吧,才能在你的简历中加入浓重的一笔。 EJB3.0java在走了很多弯后的回归之作,值得研究。 SOA,业界铁定的未来趋势,要紧紧跟随。 在后面,我会告诉你每一步的学习方法和学习重点。 JAVA自学之路 三:要动手 无论如何,请坚持不懈的动手实验! 学习Java要动手,仅仅是看和听是不能够学好编程的。总有同学来信问我们这样的问题,说:"老师我看了视频了,可是怎么一动手就没有任何思呢?" 对此,我一般都会说不要着急,如果你只是看了视频就想行云流水的话,那老师这些年的锻炼真是白费了,这么多年的苦练才能略有些行云流水的感觉,你一朝一夕就想自己能够达到,不是太奢侈了吗 作为编程的过来人想一下,当年自己学编程的时候是什么时候有思的呢?至少也是照猫画虎画了一段时间之后吧,我本人是在某一个领域画虎画了上万行代码的时候才慢慢有自己思的。就像写作文,要有自己思总是一般来说要经过几个阶段,首先学习词汇,然后学习造句,然后大量阅读别人的文章,自己模仿着写一些,逐渐的经验积累,才能形成自己的思。学编程,恐怕也得慢慢的来吧,只是看一看、听一听视频,是不足以学好编程的。 所以,动手吧,跟着做,一行一行的跟着敲,一个项目敲完了,比如坦克,再试着加一些自己的功能,按照自己的思敲一些代码,收获远比干听大的多。 如果遇到,暂时对于一些思不能理解的同学,我一般都会劝告说,动手写,先写代码,量变会引起质变的。而这种质变的确发生过不少次。 提醒一句,要理解代码思之后再跟着敲 ,背着敲,千万不要左边摆着别人的程序,右边自己一个一个子母的写,这就不再是程序员了,成了打字员了。 纸上得来终觉浅,所以:别问那么多,别想那么多,动手写吧。 JAVA自学之路 四:要事为先 对待人生的任何事情都要:抓大放小,要事为先 对于一个以前从来没有接触过java的人,java无疑是庞大的,似乎每个领域都可以拓展开来都是一片开阔地,每一个领域要想深入接触到每一个细节所耗费的精力都是巨大的。这个时候大家都胸怀壮志,两眼发光的盯着每一个崭新的知识点,遇见了任何一个知识点都恨不得抠的清清楚楚,明明白白。 难道这有什么不对吗? 我的意见是,没什么大毛病,但是学习效率太低了!我们推荐的学习方式是,抓大放小,要事为先。 比如说学习J2SE的时候,学到GUI这一章,有的同学认为,既然学到这儿了,我们去把SWING细细的了解一遍吧;还有的同学,遇到了在Linux下的Shell编程,就恨不得把Shell先学成专家才肯,或者是才敢,继续往下学习;有没有过这样的感觉,一本书的上册没有学好,觉着下册心里也没底儿,甚至非要把上册复习一遍才敢继续学习。如果你也是这样,要去看看心理医生啦,没准儿会有洁癖的毛病。 任何事情都要追求完美才敢继续往后进行,是一种性格缺陷 大胆的
©️2021 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值