Java课程学习路线图【最全】Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
千锋Java课程紧跟热门互联网行业,采用真实企业项目实战,并特设专业技能提升课,让学员保持长足的成长。
第一阶段1、JavaSE编程基础DOS常用命令安装JDK、设置环境变量DOS系统编译、执行Java程序Java的注释标识符、标识符的命名规范Java 关键字Java的数据类型变量的定义及初始化Java的运算符表达式转义字符运算符的优先级类型转换Java分支if...else多重if、嵌套ifJava switchSwitch vs ifJava循环for、while 、doWhile 循环的嵌套break、continue、return方法的定义方法的形参和实参无返回值的方法有返回值的方法方法的重载2、Java数组Java 数组的定义数组的静态赋值数组的动态赋值数组单个元素的访问数组的遍历访问数组的增强for循环数组的排序数组的顺序查找数组的二分法查找命令行参数args的使用可变参数的应用Arrays工具类的使用二维数组的使用3、Java面向对象面向对象的分析与设计面向对象与面向过程的区别Java与面向对象类的定义对象的定义类中成员变量及方法的定义构造方法的定义和调用构造方法的重载面向对象的封装特性this调用属性、方法、构造方法局部变量和成员变量的作用域问题static静态属性、方法、代码块工具类的概念及工具类的制作super关键字的使用及理解Java中访问权限控制机制继承中构造方法的细节方法的重写equals及toString方法的正确理解Java中的包机制抽象类,接口,多态对象的转型final修饰类、属性、方法抽象类,接口多态机制内部类通过内部类制作性能检测工具Java的内存分析4、常用基础类常用数据类型的包装类String、StringBuffer、StringBuilderDate的使用SimpleDataFormate对日期和字符串之间的转换处理Calendar日历类的使用Math常用方法Random类Runtime类System 类java8新特性5、集合集合框架体系介绍集合框架与数组的对比集合框架之Collection接口集合框架之List接口ArrayList和LinkedList的使用深入源码探究ArrayList和LinkedList 的工作原理迭代器的工作原理迭代器的使用集合框架之SetHashSet和TreeSet的使用深入源码探究HashSet和TreeSet的工作原理HashMap和TreeMap的使用分析Map和Set的之间的关系Collections工具类6、异常处理Java的异常体系异常的概念及分类异常的处理方式异常设计原则自定义异常7、线程和I/OI/ONIO文件操作多线程线程池同步线程调度多线程下载网络http、socket基于HTTP协议访问网络资源、XML解析文件的下载ThreadLocal8、项目FTP服务器、多人聊天服务器第二阶段1、HTML5HTML的作用全局标签绝对路径与相对路径常见标签字符集表单标签布局指定的网页2、CSS3css声明类型常见的各种属性圆角属性:border-radius的使用阴影属性:box-shadow的用法背景属性扩展:多背景应用新的颜色表示方式:HSLA色轮模式浮动完成自己的初级课页面实战3、JavascriptJavaScript基本语法JavaScript数据类型JavaScript对象和常用对象history对象location对象bom对象表单对象DOM对象window对象常用事件选项卡、幻灯片、贪吃蛇、瀑布流各种特效4、MySQL使用Mysql数据库MySql命令行客户端的使用MySql图形化客户端的使用SQL语句介绍DDLDMLDQL多表的联合查询子查询排序、聚合、分组5、JDBC连接池JDBC的介绍采用JDBC实现CRUD采用PrepareStatement防止SQL注入,提高安全性6、ServletTomcat与eclipse的集成开发什么是ServletServlet接收客户端请求信息Servlet响应客户端信息Servlet的生命周期什么是JSPJSP的内置对象透析JSP的本质JSTL+ELMVC介绍分层的重要性Mysql的事务特性MySql的事务实现Session的使用Cookie的使用实现系统的安全控制DBCP连接池的使用C3P0连接池的使用DBUils实现用户的自动登录文件的上传文件的下载过滤器解决编码问题过滤器解决安全验证问题监听器反射、注解、泛型7、MVC设计模式ORM原理自定义框架8、ajaxAjax的工作原理JSON解析Ajax 数据格式(XML格式、HTML格式、JSON格式、各种格式对比)使用jQuery 实现Ajax(load()方法、$.get()方法、$.post()方法、序列化、Ajax应用)聊天室小实例9、jQueryjQuery选择器jQuery的常用事件事件冒泡事件委派jQuery中的动化模拟操作jQuery综合实例10、BootStrap响应式设计BootStrap安装Bootstrap 组件进度条和列表组件BootStrap综合实例11、项目讲解项目开发流程项目简介项目功能演示项目功能实现分析数据库设计分析项目架构设计分析实现网站首页的商品展示实现商品详情页面实现购物车功能实现我的订单管理项目验收第三阶段云计算体系1、框架和Maven为什么用框架流行的框架Maven概述使用Maven的优势maven的一次构建依赖管理安装配置介绍.使用Maven核心概念介绍( 坐标、依赖、仓库、插件、生命周期等)Maven与第三方Elicpse整合及如何在Eclipse中使用Maven、Maven私服Nexus的安装使用如何使用Maven构建Web应用使用Maven构建SSH应用使用Maven进行多模块和继承使用2、Hibernate5ORM思想hibernate5与JPA关系介绍hibernate.cfg.xml配置hbm.xml映射文件详解主键生成策略PO对象三种状态分析与切换hibernate5一级缓存分析与测试Hibernate5高级映射技术Hibernate5多表联合查询Hibernate5的性能优化hibernate4及hibernate3区别及新特性介绍3、JPAJPA 概述JPA 注解JPA 相关APIJPA 映射JPQL二级缓存Spring 整合JPA4、Struts2Struts2框架介绍工作原理及架构分析快速掌握Struts2开发模式Struts.xml详解通配符的配置模式ActionContext及ServletActionContext使用类型自动转换机制多模块的开发模式单文件上传多文件上传文件下载拦截器的介绍默认拦截器自定义拦截器Token机制5、Spring4框架原理介绍框架环境搭建快速入门创建Bean的方式及实现原理Bean种类Bean生命周期Bean的作用域Bean的注值方式SpEL整合Junit测试Web项目集成spring注解装配BeanAOP思想AOP原理解剖传统方式实现AOP开发AspectJ介绍及实现AOP开发6、SpringMVCSpring MVC 概述使用@RequestMapping映射请求请求处理方法签名概述处理方法签名详细说明使用HttpMessageConverter处理模型数据数据绑定流程剖析数据转换数据格式化数据校验视图和视图解析器处理方法的数据绑定7、博客、论坛项目整合和富文本编辑器博客或论坛项目在面试中的意义如何使用Maven构建框架开始写项目业务流程富文本编辑器整合前后台的业务实现8、MyBatis安装和配置MyBatis使用映射语句执行非查询语句使用高级查询技术事务使用动态SQL使用高速缓存提高性能MyBatis数据访问对象DAO使用进阶9、项目整合使用SSM整合博客或论坛项目体现MyBatis的优越性使用对比10、SpringDataSpring Data 概述RepositoryCrudRepository PagingAndSortingRepository JpaRepository条件查询使用@Query自定义查询@Query 与@Modifying 执行更新操作索引参数与命名参数用@Query来指定本地查询为某一个Repository 上添加自定义方法所有的Repository 都添加自实现的方法11、Redis、MongoDB(二选一)redis安装redis数据类型redis操作java操作redisredis写个带分页好友关系处理系统Linux平台安装MongDBMongDB插入、更新、删除、查询文档、MongoDB条件操作符MongoDB排序、索引、聚合、复制、分片MongoDB与java、MongoDB数据库引用java写一个MongoDB的操作12、SpringSecurity(二选一)加强URL访问安全登录到Web应用验证用户加强方法调用的安全做出访问控制决策处理视图中的安全性处理领域对象安全性13、Shiro(二选一)权限基础Shiro 概述Shiro 配置基础PermissionsAuthenticationAuthorizationRole编程授权RealmRealms的认证实现Realms的授权实现Spring 集成Shiro Spring 集成Shiro基于注解的授权14、WebService WebService介绍WebService的应用场景15、WebServicehttp协议RestFul规范postman使用spring 实现RestFul 第四阶段1、亿级并发架构演进架构演进特点大并发架构微服务2、Linux基础文件处理命令权限管理命令帮助命令文件搜索命令压缩解压命令命令使用技巧VIM使用软件包管理用户和用户组管理服务和进程基本网络设置云服务器搭建和使用2、搭建tomcat环境在云服务器下搭建tomcat和MySQL服务器3、MySQL主从MySQL主从和binlog的配置4、MySQL主从nginx服务器的优势nginx服务器配置什么是反向代理什么是负载均衡负载均衡算法构建数十台服务器的负载均衡环境5、SSL证书配置为什么使用SSL证书RSA算法、DES算法Let's Encrypt证书申请证书续期6、keepalived双活不间断服务的重要性keepalived原理OSI七层模型和TCP/IP四层模型配置keepalived服务7、MySQL高级ACID和MySQL的实现原理SQL优化技巧MySQL分区Explain分析8、memcachedMySQL引擎memcached优势memcached与Java配使用用memcached分布式处理9、elasticsearch为什么使用全文索引elasticsearch与solr的对对实时索引分布式elasticsearch写一个自己的搜索引擎10、ActiveMQ队列队列应用场景常用的队列服务器队列服务器的架设压力测试Java中使用队列服务器11、MyCat分库分表技术MyCat介绍分库分开技术讲解其他的数据库中间件配置与自动分表12、Rpc和Dubbo分布式服务框架简介Dubbo主要核心部件Dubbo-RPC基本功能Dubbo-高级功能远程方法调用软负载均衡及容错机制linux 上Dubbo 的部署13、svn & git & Jenkins持续集成svn介绍svn服务器和客户搭建配置如何使用svn多人一起进行冲突解决git常用命令git的web hooks为什么要使用持续集成持续集成与git 的web hooks配使使用14、echarts图表插件图表介绍和选择什么样的图表5分钟快速上手常用API和模块移动端自适应15、UML和常用工具的使用UML的作用UML常用工具的使用UML的3个要素UML的3个基本构造块事物是对模型中最具有代表性的成分的抽象5种图定义UML的应用领域16、Hadoop大数据的应用场景Hadoop架设Hadoop单机配置Hadoop伪分布式环境Hadoop集群环境HDFS的使用和配置分治思想分治思想处理数据MadReduce原理MapReduce架设和使用云服务器上提供的大数据工具17、亿人同时在线的抢票系统大并发系统的应用大并发系统的分析大并发系统的设计大并发系统的开发手把手带着学员完成大并发系统18、综合项目实战15个大型项目选择各种项目特点分析项目设计项目分组选择框架后台搭建使用Maven构建项目项目开发压力测试webhooks项目自动部署面试中常问到的项目问题项目bug收集和解决阿里云、腾讯云项目上线项目验收项目答辩。