Java 学习路线之四个阶段

写这篇总结,主要是记录下自己的学习经历,算是自己对知识的一个回顾。也给想要学习 Java 的提供一些参考,对于一些想要学习Java,又不知道从哪里下手,以及现在有哪些主流的 Java 技术。想必大家学习一门技术,前期都很想看到一些结果或成就,这样就比较容易激励自己学习下去,最好的办法就是实践,实践,实践!先说明一下我的情况,我是从大二才开始接触 Java,然后自己摸索,期间真是摸打滚爬过来的。选的是计算机专业,大一的时候还没有自己的笔记本,所以都是听课过来的,了解了一些概念性的东西,课上老师也有演示过一些程序,懂得思考之后,发现计算机有很多有趣的地方,比如想知道这个东西是如何实现的,为什么会出现这些东西。真不是知道当初天天打游戏的时候,为什么没有发现,要是发现的话,现在说不定早就那啥那啥了。到了大二的时候自己有了笔记本之后,就开始自己摸索,很好奇自己当初拿到笔记本竟然没有去打游戏,而是用来学习。下面开始说正事。

选语言

开始学习的时候,经过自己搜索之后,发现有很多种语言,自己完全处于懵逼状态,不知道选哪个,也不知道每种语言都可以用来干什么,后来经过学长的指点还有身边的人都说 Java 好,自己慢慢的就入坑了。在选择要学习一门语言的时候,一定要选自己感兴趣的,而且要有自己的目标,不然的话,后期很难坚持下来,除非你有很强的自律性。每个人前进都是有自己的驱动力,所以找到属于自己的驱动力,才能保证你不断的进步。

Java第一阶段

刚接触 Java 的时候,想必大家都是从环境配置开始的,这个里面的坑想必大家都踩过。对于还没有开始的同学,也有可能会经历这个阶段,说可能是因为现在的 Java1.6 之后安装默认是加到环境变量里面的,但是在安装过程中有可能会出现一些意外情况,导致不能加入成功,这是就需要我们手动加入了。在这里特说明下,在大学期间一定要把一些基础的课程学好,比如:计算机系统、算法、编译原理等,这个对后期的学习会有很大的影响,最简单的就是你在添加环境变量的时候,为什么要把路径添加到 Path 下面,而不是添加到其它下面,计算机是如何去识别访问这些东西。

我一开始学习 Java 的时候,是学长分享的视频,这个视频的好处就是在学习 Java 基础的时候,完全脱离一些集成的工具,就是用编辑器(notepad++)写好程序,手动通过命令行去编译,再执行,让你能够了解其中的原理,以及锻炼自己的动手能力。如果一上来就上你用 Eclipse 或者其它工具,把一些底层的东西屏蔽掉,开始学习的时候大家可能连 class 文件都没有见过,只是知道写了这行代码,运行之后它会出来什么结果。

这里给出我当初学习的视频,有点老但是基础知识都是一样的。学习 Java 基础知识的时候,应该多动手,多思考,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么一回事,不信你就试试。在学习视频的时候,有两种学习方法建议:方法一先把视频过一篇,在看视频的时候,记下知识点,看完视频之后,自己对着知识点,自己敲代码实现,实在想不出来的,回过头来在看视频。方法二边看视频边跟着敲代码,这样会比第一种方法相对容易一些,但是如果是这种方法学习的话,要记得回头多复习,不然很容易忘记。两种方法各有好处,第一种方法一开始学习比较慢,但是后面基础有了之后,就会上手很快,而且记得很牢固。第二种方法比第一种方法花的时间要相对的少一些,所以需要我们反复的去回顾。学习完以上内容之后,你应该对 Java 有了一定的了解,你可以使用 Java 语言写出来一些简单的程序,并且是使用最简单的编辑器。这个时候,可以不用着急进入下个阶段,给自己一两天的时间,对学习过的知识进行下总结。

在学习的过程中,你应该注重下面这些知识点,由于是自己总结的,有可能会有不对的地方,若有不对之处,还请指出。

知识点梳理:

概念:面向对象的三大基本特征五大基本原则(当初让学长考我的时候第一个问的就是这个)、面向对象、面向过程、什么是多态、什么是继承、什么是封装。

集合:Collection 集合、List 集合、Set 集合、Map 集合

异常:Java 中异常处理机制和应用,自定义异常

IO:File 类,字符流、字节流、转换流、缓冲流、递归

网络编程:Socket

线程:线程的生命周期,Java 线程池,线程同步问题,线程死锁问题

继承和接口:Class,Interface

反射:动态代理

Mysql 和 JDBC 开发:Mysql 数据库,JDBC,DBUtils,DBCP连接池

书籍推荐:Head First Java, Java核心技术

视频获取:后台回复「javaweb学习资料」包含后面三个阶段。

Java 第二阶段

Java 基础学习完之后,我是开始学习 Javaweb,在一开始的几天比较迷茫,因为感觉自己写的东西没有用处,比如写个计算器什么的,生活中没有什么用,可能是太过于看结果导致的。这个时候应该去做一些有趣的事情,学习新的知识,开发新的大陆,这就是我们的 Web 开发了,主要包括前端页面(HTML/CSS/JS),Servlet/JSP,以及 Mysql 相关的知识。这些视频在上面分享的视频里面已经包括了。

关于页面,这些内容对于 Java 后端来说,不是特别重要,但是你应该尽自己的最大能力让它漂亮,最起码可以入眼,这样的话,页面就不是什么问题了。接下来,就是学习的重头戏了,学习 Servlet/JSP 部分,这也是 Java 后端开发必须非常精通的部分,在学习 Web 这三部分的时候,这个部分是最花时间的。这个阶段学习的时候,要学会使用开发工具,比如 Eclipse 或者 IDEA 来学习。最后一部分,你就要学会使用数据库,Mysql 数据库是不错的入门选择,而且 Java 领域主流的关系型数据就是 Mysql,这部分其实你在学习 JDBC 的时候,就会接触到,因为 JDBC 也是属于数据库的一部分。不仅要学会使用 JDBC 操纵数据库,而且还要学会使用数据库客户端工具,比如 sqlyog,navicat 等。

知识点梳理:

前端技术:HTML、CSS、JS、JQuery、Bootstrap

JavaWeb 核心内容:Servlet、JSP、XML、HTTP、Ajax、过滤器、拦截器等

Mysql 和 JDBC:复习

推荐书籍:相关的 Web 书籍都可以,可以顺带着看 Java 编程思想

Java 第三阶段

这个阶段是在你掌握第二阶段之后开始,如果学习了第二个阶段之后想找工作的话,还需要在学习一些主流的框架知识。目前比较主流的框架是 SSM 框架,既 Spring,SpringMVC,Mybatis。要学会这些框架的搭建,以及用它们作出一个简单的 WEB 项目,包括增删改查的功能。在这里一开始,你可以不用太去关心那些配置文件,以及为什么会这样配置,这个可以留到后面慢慢了解,开始的时候先让自己有个体验,激励自己学习的动力。

搭建这三个框架的时候,一定要记录自己搭建的过程,这个在你工作之后肯定会用到的。在搭建的过程,我们通过网上查找资料或是跟着视频学习,都会接触到 Maven 这个工具,这个工具在你工作之后,也一定会用到的,可以顺带着了解,你不一定要去完全掌握,只要学会使用,知道基本原理就可以。学会使用之后,自己要跟着老师或者从网上去理解更多的东西,比如那些配置文件等。

知识点梳理:

Spring 框架:配置文件、IoC 思想、DI 依赖注入、面向切面编程、事务等。

SpringMVC:框架原理、交互、拦截器等。

Maven:安装使用、基本操作。

Mybatis:框架原理、Mybatis 开发 DAO 方式、与其它框架的整合。

推荐书籍:Spring 实战,Effective Java,Java 编程思想

Java 第四阶段

这个时候相信你已经能够完成独立开发,并且也工作了,对付工作上面的时候,你的技术一定是可以的。但是这个时候不要对自己进行松懈,你要继续学习,而不是工作只是为了应对工作,你应该提升自己的价值。这个时候可以去看一些比较底层的书籍,比如《深入理解Java虚拟机》,这本书就是全面帮助你了解 Java 虚拟机,这个时候想必你一定知道 Java 是运行在 JVM 上的,你没有任何理由不去了解 JVM。另外,关于并发这方面,推荐《Java并发编程实战》,这本书啃完之后,对并发的理解应该有一定的体会了。

这个阶段要做的远不止这些,我们要去思考我们之前使用的那些框架是怎么回事,以及阅读 Java 经典的一些源码,看懂源码的前提,就是你已经有了一定的基础,当然有基础也不一定一下子就能看懂,看不懂就要去思考,在看源码的过程中,你可能有各种各样的疑问,有疑问就是对的,问自己最多的应该是这里问什么会这样写,而不是那样写吧。这个阶段需要自己对自己有很强的自律去学习,不要看了一半就放弃了。学会看源码之后,自己可以尝试着模仿别人写的比较好的开源项目,造属于自己的轮子,虽说不一定有用,但是对提升自己有一定的好处。

如果你想成为优秀的人,你就要「能别人不能」,也就是说你要找到属于自己的一个领域研究下去,以期在将来,你能够成为这个领域的专家,建立起你的差异性。

最后,请记住,从你入行那一刻起,你就要比别人努力,就要不停的学习。每个人在学习的过程中都有自己的一种方式,在学习的过程中,要学会自己去判断。其实生活中也是一样的,你身边的人形形色色,有的人你喜欢,有的人你讨厌,但是你喜欢的人身上也有缺点,你讨厌的人身上也有其优点,这个时候你要学会从他们身上学习他们的优点,让自己变的更优秀。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容

  • Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的...
    顺毛阅读 1,035评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,195评论 25 707
  • 人外有人,山外有山,总有人会比你更加用心的去学习,更加刻苦,更加努力,现如今,分数就是学生的“KPI”,所以对于老...
    谢江华阅读 670评论 0 0
  • storyboard功能很强大,很方便,为我们节省了不少代码。但是在实际运用中,任然有一些功能不结合代码就不方便实...
    王玺__boy阅读 398评论 0 0
  • 上午宅在家里,做了多少努力才走出家门,强打着精神出来走走,不出来也是不行的,整天在家坐着或者躺着,腰也承受不起。 ...
    春雨_373c阅读 54评论 0 0