给小白的java系统学习路线

身为一个程序员小白,指望可以系统的学习java,但总感受无从下手,不知道该学习什么.这应该是全部java程序员入门思考的第一个问题了吧!网上看到两篇关于java学习路线帖子总结的很好,初版是比较简单明了的,适合想快速入门的新手,第二版则是很是详细的,适合自己有一点点java代码的基础,时间相对充裕且指望详细深刻的了解java的新手.(文章取自网上帖子,若有打扰,联系备注出处,由于我如今已经找不到原文出处了)最后声明,本人决定边学习边更博,目前更新周期根据我的工做强度和学习内容随机,一样是小白,且但愿学习java的小伙伴跟我一块儿学习吧,期待与你互相监督,互相探讨!html

初版 java学习路线

Java基础java

推荐看书+实践写代码
推荐书籍:Java核心技术卷1 基础知识 原书第10版git

Java重点部分程序员

基本语法
类、接口
面向对象思想及面向对象三大特性:封装、继承、多态
泛型
反射、动态代理
多线程
集合web

Java web正则表达式

Servlet&JSP 推荐书籍:Head first servlet and JSP
Tomcat使用
HTML、JavaScript、AJAX
HTTP协议
XML和JSON
Mavensql

Java框架数据库

Spring框架:
IOC、AOP
注解
Mybatis
Spring MVC
Spring Boot
Spring cloud编程

Java进阶数组

JVM(Java虚拟机)推荐书籍:深刻理解Java虚拟机
Gc(垃圾回收)

分布式技术

=================================================================

第二版 java详细学习路线

JAVA学习大纲

  • Java基础 (Java开发介绍、Java数组、Java面向对象、经常使用基础类、集合、IO流、多线程、异常、反射)

  • JavaWeb(HTML五、CSS三、JavaScript、MySQL、JDBC链接池、Servlet、JSP、AJAX、jQuery、Bootstrap)

  • Java框架(Spring、Spring MVC、MyBatis、SVN、Git、Maven、SpringBoot)

Java基础

Java基础内容涉及:Java开发介绍、Java数组、Java面向对象、经常使用基础类、集合、IO流、多线程、异常、反射

一. Java开发介绍

  1. DOS经常使用命令

  2. JVM、JRE、JDK之间的关系

  3. Java开发环境的搭建:安装JDK,配置环境变量

  4. Java入门程序(Java的开发流程)

  5. Java的注释,标识符、标识符的命名规范

  6. Java基本数据类型

  7. 变量和常量的定义及初始化

  8. Java的运算符

  9. 运算符的优先级

  10. Java分支语句之if…else

  11. 循环的嵌套

  12. 方法的定义

  13. 方法的形参和实参

  14. 方法的递归调用

二. Java数组

  1. Java 数组的定义

  2. Java 数组的声明

  3. 数组的优点与局限

  4. 数组的遍历访问(普通循环,加强for循环)

  5. 数组元素的顺序查找

  6. 数组元素的冒泡法排序

  7. Arrays工具类的使用

  8. 二维数组

三. Java面向对象

  1. 面向对象设计思想

  2. 面向对象的分析与设计

  3. Java与面向对象

  4. 类中成员变量的定义与意义

  5. 构造方法的定义和调用

  6. 面向对象的封装特性

  7. 局部变量和成员变量的做用域问题

  8. 静态属性、静态方法、静态代码块

  9. 面向对象的继承特性

  10. 继承中构造方法的细节

  11. 面向对象的多态特性

  12. 抽象方法与抽象类

  13. 接口

四. 异常

  1. 异常的概念

  2. 异常的分类

  3. 异常的理解

  4. 常见异常介绍

  5. 运行时异常

  6. 编译时异常

  7. 运行和编译异常区别

  8. 异常的处理方式之捕获异常

  9. 异常的处理方式之抛出异常

  10. 异常的处理方式之断点调试

  11. 断点调试之引导运行步骤

  12. 自定义异常

  13. 异常关键字处理

  14. 关键字执行流程

  15. 异常总结

五. 集合

  1. 集合的概念和做用

  2. 集合和数组的区别

  3. 集合框架体系介绍

  4. 集合框架之Collection接口

  5. ArrayList和LinkedList的方法使用

  6. ArrayList和LinkedList各自的工做原理分析原理分析

  7. 使用多种方式遍历集合

  8. HashSet和LinkedHashSet各自的工做原理分析

  9. 集合框架之Map接口

  10. 泛型的使用

  11. Collections工具类的使用

六. IO流

  1. File类的做用

  2. File类中经常使用方法的使用介绍

  3. 使用File类操做文件和文件夹

  4. 相对路径和绝对路径的介绍

  5. IO流的概念和工做原理

  6. IO流的分类

  7. 文件流的使用

  8. 转换流的使用

  9. 缓冲流的使用

  10. 对象流的使用

  11. 内存流的使用

  12. 使用不一样的流实现文件内容的拷贝

七. 多线程

  1. 进程和线程的介绍

  2. 进程和线程之间的区别与联系

  3. 线程实现方式之继承自Thread类

  4. 线程实现方式之实现Runnable接口

  5. 线程实现方式之线程池

  6. 线程的生命周期

  7. 线程中经常使用方法的使用

JavaWeb

JavaWeb内容涉及:HTML5课程、CSS三、JavaScript、MySQL使用、JDBC链接池、Servlet、JSP、AJAX、jQuery、Bootstrap

一. HTML5

  1. html概述

  2. html基本标签

  3. 图片标签

  4. 超连接标签

  5. 表格标签

  6. 无序列表标签

  7. 有序列表标签

  8. 定义列表标签

  9. div标签

  10. 语义化标签

  11. 表单标签

二. CSS3

  1. CSS3简介和用途

  2. CSS3书写规范

  3. CSS3基本语法

  4. CSS3三种使用方式

  5. 标签选择器

  6. Id选择器

  7. Class选择器

  8. 属性选择器

  9. 层次选择器

  10. 文字、文本属性

  11. 背景、列表属性

  12. 尺寸、显示、轮廓属性

  13. 浮动、定位属性

  14. 盒子模型

  15. CSS3高级属性

三. JavaScript

  1. JavaScript概述

  2. JavaScript发展史

  3. JavaScript组成

  4. 数据类型

  5. 运算符

  6. 分支语句

  7. 循环语句

  8. 系统函数、自定义函数、匿名函数

  9. 常见事件

  10. 数组、字符串、日期对象

  11. 正则表达式

  12. BOM对象:window、history、location

  13. DOM概念

  14. DOM操做:建立、修改内容、删除

  15. Css样式操做

四. MySQL使用 或oracle数据库

  1. 数据库简介

  2. MySQL的安装与使用

  3. MySQL客户端和服务器配置

  4. 用户权限管理

  5. DDL建立数据库和表

  6. 约束与外键

  7. DML实现添加、修改、删除数据

  8. 聚合函数、日期函数等

  9. DQL简单查询

  10. 排序、分组、筛选

  11. 多表查询

  12. 子查询

  13. in和exists关键字

  14. 分页查询

  15. Mysql SQL语句优化介绍

五. JDBC链接池

  1. JDBC概述

  2. JDBC使用步骤

  3. Connection、Statement、ResultSet接口

  4. 使用JDBC 完成数据库DML操做

  5. PreparedStatement对象

  6. 大数据的操做

  7. 批量处理与元数据

  8. 事务处理

  9. 隔离级别

  10. 自定义链接池

  11. DBCP、C3p0链接池

  12. DBUtis工具类

  13. QueryRunner

  14. 自定义结果集处理

  15. 链接池知识总结

六. Servlet

  1. Tomcat与Eclipse的集成开发

  2. 什么是Servlet

  3. Servlet的进化史

  4. Servlet的优化过程

  5. Servlet中应用的多线程概念

  6. Servlet接收客户端请求信息

  7. Servlet响应客户端信息

  8. Servlet的生命周期

  9. 重定向写法

  10. 转发写法

  11. 转发和重定向区别

  12. HttpServletRequest获取中文乱码问题

  13. HttpServletResponse响应中文乱码问题

  14. Servlet路径映射问题

  15. Servlet多路径映射

七. JSP

  1. 什么是JSP

  2. JSP的内置对象

  3. 透析JSP的本质

  4. JSTL+EL

  5. MVC介绍

  6. 分层的重要性

  7. Web工程中事务实现

  8. Session的使用

  9. Cookie的使用

  10. web工程中链接池的使用

  11. 实现用户的自动登陆

  12. 文件的上传、下载

  13. 过滤器、 监听器

  14. 反射、注解、泛型

  15. 综合案例练习

八. AJAX

  1. Ajax技术背景

  2. Ajax技术的理解

  3. XMLHttpRequest使用步骤

  4. XMLHttpRequest GET/POST的区别

  5. 同步请求&异步请求

  6. 同步请求&异步请求的区别

  7. Ajax获取不一样的返回值类型

  8. Ajax使用原生JavaScript和Jquery的区别

  9. Ajax响应状态处理

  10. JSON语法

  11. Java JSON 解析

  12. Java JSON 生成

  13. Java JSON 第三方工具快速解析

  14. JavaScript JSON转换

  15. Jquery JSON转换

Java框架

Java框架内容涉及:Spring、Spring MVC、MyBatis、SVN、Git、Maven、SpringBoot

一.Spring

  1. 框架原理介绍

  2. 框架环境搭建

  3. 快速入门

  4. 建立Bean的方式及实现原理

  5. Bean种类

  6. Bean生命周期

  7. Bean的做用域

  8. Bean的注值方式

  9. 整合Junit测试

  10. 注解装配Bean

  11. 注解装配Bean

  12. AOP思想、原理解剖

  13. AOP底层JDK动态代理

14.AOP编程

  1. AspectJ介绍及实现AOP开发

16.事务

  1. Web项目集成Spring

二. Spring MVC

  1. Spring MVC 概述

  2. 使用 @RequestMapping映射请求

  3. 请求处理方法签名概述

  4. 处理方法签名详细说明

  5. 使用 HttpMessageConverter

  6. 处理模型数据

  7. 数据绑定流程剖析

  8. 数据格式化

  9. 数据校验

  10. 视图和视图解析器

  11. 处理方法的数据绑定

  12. 视图和视图解析器

  13. 文件上传下载

  14. JSON处理

  15. 拦截器

三. MyBatis

  1. MyBatis数据框架介绍

  2. MyBatis对比Hibernate框架

  3. MyBatis配置、查询数据

  4. MyBatis全局配置文件

  5. MyBatis全局配置文件元素详细介绍

  6. Mapper映射文件

  7. MyBatis两种开发方式

  8. MyBatis中别名配置

  9. MyBatis # 和 $ 拼接参数区别

  10. 关联查询,动态sql

  11. MyBatis缓存机制、整合ehcache

  12. MyBatis二级缓存处理

  13. MyBatis、Spring、SpringMVC整合

  14. 分页插件

  15. MyBatis逆向工程

四. SVN和git

  1. SVN简介

  2. SVN和Git对比

  3. SVN服务器搭建

  4. SVN建立仓库

  5. SVN建立用户以及分配权限

  6. SVN签出、提交、更新

  7. Eclipse整合svn插件

  8. Idea整合svn插件

  9. 使用SVN更新提交

  10. SVN仓库分析

  11. SVN协同修改&冲突解决

  12. SVN代码整合注意事项

  13. SVN权限管理

  14. SVN数据回滚

  15. TortoiseSVN

五. Maven

  1. Maven环境搭建

  2. Maven构建项目

  3. Maven本地仓库配置

  4. Maven中央仓库配置

  5. Maven基本概念

  6. Maven基本命令介绍

  7. Maven于Eclipse整合

  8. Maven于Idea整合

  9. Maven建立web工程

  10. pom.xml、依赖管理

  11. 坐标、依赖、生命周期等

  12. Eclipse下的Maven使用

  13. Maven中 继承、聚合

  14. Maven构建SSH/SSM应用

  15. 自动部署、持续集成、持续部署

六. 项目开发