如何系统的学习 Java ——送给初学者

如何系统的学习 Java ——送给初学者

前言

为什么要学习 Java?
有人说是喜欢计算机编程有浓厚的兴趣,也有人说是因为 Java 是应用最广泛的编程语言,占领 TIOBE 排行榜第一的位置已经好多年,当然也有人说是为了钱。
当然 Java 的确是编程语言榜首,贴图为证,下面是 TIOBE 编程语言排行榜 2019 年 10 月份最新排行榜

如何系统的学习 Java ——送给初学者

不管是什么原因想学 Java,都必须知道到底要掌握哪些知识,到什么程度,哪些该学,哪些是已经过时的不需要去花精力研究的技术,比如你花了很多时间去学 JSP 这种古董,学完出去就会发现别人是这么评论JSP的:

  • “不玩 JSP 十几年了”
  • “JSP不是老掉牙的技术吗”
  • “这十年前的技术都被挖出来了?”

下面为大家介绍Java的知识体系

Java 相关技能清单

  • Java基本语法(1 编写 HelloWorld、2 常量、3 变量、4 数据类型、5 运算符、6 方法、7 流程控制语句、8 IDEA使用:目前企业使用最多开发工具、9 数组)

  • 面向对象(1 类、2 对象、3 封装、继承、多态、4 构造器、5super、this、6 接口、抽象类、7 权限修饰符、8 内部类、9 Random、ArrayList、String、Arrays、Math)

  • API(常用API:1 Date、2 DateFormat、3 Calendar、4 System、5 StringBuilde)

  • 集合(1 Collection、2 泛型、3 List、4 Set、5 Collections、6 Map、7 HashMap)

  • 异常(1 异常体系、2 异常分类、3 声明抛出捕获异常、4 自定义异常)

  • 多线程(1 线程概念、2 线程同步、3 Lock、4 线程生命周期、5 线程池)

  • Lambda表达式(1 函数式思想概述、2 Lambda标准格式、3 Lambda语法与注意事项)

  • IO流(1 文件、2 字节流、字符流、3 转换流、高效流)

  • 网络编程(1 网络编程三要素、2 Socket原理机制、3 UDP传输、4 TCP传输)

  • 数据库(1 MySQL、2 JDBC、3 连接池、4 JdbcTemplate )

  • 前端技术(1 HTML、2 CSS、3 JavaScript、4 Bootstrap)

  • Linux(1 Linux安装、2 目录操作、3 文件操作、4 网络操作等)

  • Nginx( Nginx安装、配置、部署)

  • xml(1 xml基本语法、2 约束)

  • jsonp( 1 jsoup概述、2 jsoup作用使用、3 xpath)

  • Servlet(1 tomcat、2 request、response、3 cookie、session)

  • web异步开发(1 jQuery、3、2 Ajax、3 Json)

  • Redis(1 NoSQL介绍、2 Redis数据类型、3 常用命令、4 Jedis)

  • Maven(1 Maven概念与作用、2 IDEA集成Maven、3 Maven常用命令、4 依赖管理)

  • Spring(1 Spring体系结构、2 Spring配置、3 Bean管理、 4 IOC/DI、AOP、5 事务管理、6 Spring5新特性 )

  • Spring MVC (1 Spring MVC 概述、2 控制器、3 常用注解、4 参数绑定、5 json数据交换、6 ResutFul、7 拦截器、8 文件上传、9 异常处理)

  • MyBatis(1 自定义MyBatis框架、2 MyBatis入门、3 架构分析、4 常用API、5 配置与事务管理、6 Mapper代理、7 数据封装、8 动态sql、9 关联查询、10 性能优化、11 查询缓存、12 SSM整合)

  • 拓展(1 Oracle、2 SpringBoot、3、Spring Data JPA、4 Spring Cloud、5 Vue.js 、6 分布式服务、7 中间件 、8 高并发 、9 微服务技术 等等)

加分技能

前端

一些岗位要求全栈,即使不是全栈,懂得前端技术的后端开发人员能写出更加合理的接口,与前端工程师合作起来会更顺利,理解项目更通透,解决问题准确迅速,现在前端最火的莫过于 Vue、React和AngularJS了,三选一即可,建议前期 Vue,比较简单好上手,后期React。

学习一门动态语言

动态语言开发起来更灵活迅速,同时比较动态静态语言的特点,可以更好去提炼跳出语言束缚的代码思想。推荐学习 JavaScript 或者 Python,且Python应用也很广泛。

热门工具及框架

这里具体是哪一门技术不太好说,因为时代在变化,每天都有新的技术诞生,程序员就是要不断的学习,经常浏览GitHub、码云、简书等IT技术社区,关注行业动态,时刻让自己掌握最新资讯,然后选择较火热的新技术进行研究。总之不能一昧的吃老本,否则早晚有一天你所掌握的技能终将全部被市场淘汰掉,比如十几年前的 JSP。

总结

“书山有路勤为径”。多学习保持自己的竞争力,IT时代,技术风云变幻,即使是Spring,也不敢保证五年后,甚至三年后依然是最流行的框架,然后给大家分享一个 Java学习+面试指南(点击蓝色字体),最后祝大家早日成为一名超级优秀的Java开发者

关注微信公众号"程序员小辉"
如何系统的学习 Java ——送给初学者