写这篇总结, 主要是记录下自己的学习经历, 算是自己对知识的一个回顾. 也给想要学习 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 经典的一些源码, 看懂源码的前提, 就是你已经有了一定的基础, 当然有基础也不一定一下子就能看懂, 看不懂就要去思考, 在看源码的过程中, 你可能有各种各样的疑问, 有疑问就是对的, 问自己最多的应该是这里问什么会这样写, 而不是那样写吧. 这个阶段需要自己对自己有很强的自律去学习, 不要看了一半就放弃了. 学会看源码之后, 自己可以尝试着模仿别人写的比较好的开源项目, 造属于自己的轮子, 虽说不一定有用, 但是对提升自己有一定的好处.
如果你想成为优秀的人, 你就要能别人不能, 也就是说你要找到属于自己的一个领域研究下去, 以期在将来, 你能够成为这个领域的专家, 建立起你的差异性.
最后, 请记住, 从你入行那一刻起, 你就要比别人努力, 就要不停的学习. 每个人在学习的过程中都有自己的一种方式, 在学习的过程中, 要学会自己去判断. 其实生活中也是一样的, 你身边的人形形色色, 有的人你喜欢, 有的人你讨厌, 但是你喜欢的人身上也有缺点, 你讨厌的人身上也有其优点, 这个时候你要学会从他们身上学习他们的优点, 让自己变的更优秀.
来源: https://www.cnblogs.com/hanwen1014/p/9057881.html