本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!
第一阶段:Java基础
重点知识点:数据类型、核心语法、面向对象、数组、集合、IO流、
String/StringBuffer/StringBuilder、线程、并发、反射、泛型
学习Java开发,首先要学习java基础知识,尤其是校招的时候非常注重基础,即使没有项目也没关系,基础一定要打好,一般笔试以及面试的第一轮,对基础的考察是比较多的。
Java面向对象
面向对象设计思想
面向对象的分析与设计
Java与面向对象
类中成员变量的定义与意义
构造方法的定义和调用
面向对象的封装特性
局部变量和成员变量的作用域问题
静态属性、静态方法、静态代码块
面向对象的继承特性
继承中构造方法的细节
面向对象的多态特性
抽象方法与抽象类
接口的介绍
通过内部类制作性能检测工具
Java的内存分析
Java数组
Java数组的定义Java数组的声明数组的优势与局限数组的动态初始化数组的存储特点(堆和栈)数组的遍历访问(普通循环,增强for循环)数组元素的顺序查找数组元素的二分法查找数组元素的选择排序数组元素的冒泡法排序Arrays工具类的使用二维数组的介绍二维数组的声明与初始化二维数组的遍历二维数组的使用
IO流
File类的作用
File类中常用方法的使用介绍
使用File类操作文件和文件夹
相对路径和绝对路径的介绍
IO流的概念和工作原理
IO流的分类
文件流的使用
转换流的使用
缓冲流的使用
对象流的使用
内存流的使用
使用不同的流实现文件内容的拷贝
RandomAccessFile类的使用
Properties类的使用
装饰者设计模式
第二阶段:数据库
重点知识点:基本的增删改查,SQL 命令,索引、存储过程;JDBC
主流的数据库有MySQL、Oracle、SQL Server等等,你只需要搞定一个就可以了,知识都是相通的,一通百通。目前公司里用到MySQL的比较多,所以建议大家学习MySQL数据库。
推荐书籍:首先是《MySQL必知必会》,这本书很小,口袋书,方便随时查阅。
深入的书籍推荐《MySQL内核:InnoDB存储引擎 卷1》,资深MySQL专家,机工畅销图书作者亲自执笔,介绍InnoDB存储引擎的内核,例如latch、B+树索引、事务、锁等,从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践。
MySQL使用
数据库简介MySQL的安装与使用MySQL客户端和服务器配置用户权限管理DDL创建数据库和表约束与外键DML实现添加、修改、删除数据聚合函数、日期函数等DQL简单查询排序、分组、筛选多表查询子查询in和exists关键字分页查询Mysql SQL语句优化介绍
JDBC连接池
JDBC概述
JDBC使用步骤
Connection、Statement、ResultSet接口
使用JDBC 完成数据库DML操作
PreparedStatement对象
大数据的操作
批量处理与元数据
事务处理
隔离级别
自定义连接池
DBCP、C3p0连接池
DBUtis工具类
QueryRunner
自定义结果集处理
连接池知识总结
第三阶段:JavaWeb
重点知识点:HTML、CSS、JS、jQuery框架、Servlet程序、Filter过滤器、Listener监听器、JSP页面、EL表达式、JSTL标签库、Cookie技术、Session会话、JSON使用、Ajax请求、Tomcat、maven等等
Java开发的岗位大多是Web开发,所以最好学一学前端的基础,虽然现在都是前后端分离的方式,但是你要懂前端界面和后端数据是怎样交互的,与前端工程师的沟通合作会更加顺利。另外,像一些小公司要求全栈,希望招来的后端开发也能做一些前端的工作,省一些人力成本。
jQuery
jQuery介绍jQuery版本介绍jQuery对象和原生js对象介绍jQuery对象和原生js对象互相转化jQuery快速入门jQuery语法详解jQuery核心函数jQueryonload处理jQuery选择器jQuery文档处理jQuery事件jQuery遍历操作jQuery自定义函数jQuery动画效果jQueryAJAX操作
AJAX
Ajax技术背景Ajax技术的理解XMLHttpRequest使用步骤XMLHttpRequest GET/POST的区别同步请求&异步请求同步请求&异步请求的区别Ajax获取不同的返回值类型Ajax使用原生JavaScript和Jquery的区别Ajax响应状态处理JSON语法JavaJSON解析JavaJSON生成JavaJSON第三方工具快速解析JavaScriptJSON转换JqueryJSON转换
第四阶段:框架
重点知识点:Spring、SpringMVC、SpringBoot、Mybatis
前后端不分离的版本:
经典技术组合:Spring Boot、Apache Shiro、MyBatis、Thymeleaf
前后端分离的版本:
前端采用Vue、Element UI。
后端采用Spring Boot、Spring Security、Redis & Jwt。
Spring
框架原理介绍
框架环境搭建
快速入门
创建Bean的方式及实现原理
Bean种类
Bean生命周期
Bean的作用域
Bean的注值方式
SpEL
整合Junit测试
Web项目集成Spring
注解装配Bean
AOP思想、原理解剖
传统方式实现AOP开发
AspectJ介绍及实现AOP开发
Spring MVC
SpringMVC 概述使用@RequestMapping映射请求请求处理方法签名概述处理方法签名详细说明使用 HttpMessageConverter处理模型数据数据绑定流程剖析数据格式化数据校验视图和视图解析器处理方法的数据绑定视图和视图解析器文件上传下载JSON处理拦截器
MyBatis
MyBatis数据框架介绍MyBatis对比Hibernate框架MyBatis配置、查询数据MyBatis全局配置文件MyBatis全局配置文件元素详细介绍Mapper映射文件MyBatis两种开发方式MyBatis中别名配置MyBatis# 和 $ 拼接参数区别关联查询,动态sqlMyBatis缓存机制、整合ehcacheMyBatis二级缓存处理MyBatis、Spring、SpringMVC整合分页插件MyBatis逆向工程
第五阶段:其他热门技术
这一阶段属于拔高的部分。如果时间不够,着急找工作的话,可以跳过这部分,进入下一阶段,直接项目的学习,回头再补。
Redis数据库学习
Nginx反向服务代理
Docker
ZooKeeper 分布式协调服务技术+Dubbo高性能的 RPC 服务发布和调用框架
Spring Cloud
RocketMQ
第六阶段:java商城项目
商城项目整合的知识点非常多,非常全,这一个项目可以把前面学到的知识,全部应用一遍,所以准备一个商场项目来面试的话,面试官能问的点有很多,能深问的点也很多。其实应届生找工作不需要特别丰富的项目经验,但如果一个项目都没有的话,肯定是不行的。
第七阶段:Java面试准备
大厂最爱考算法题,从笔试到每一轮的面试,都会考察的。为什么要刷题,因为面试官出的题基本上是在书上或者网上看到的,面试官也没有时间研究新题,所以多刷题命中率很高的。
推荐一个刷题学习网站,LeetCode,可能大家也都听说过,是一个刷算法题的网站,支持Java、Python、C++等各种语言,题目分为简单、中等和困难三种模式。
把简单题和中等题多刷一些,难的就不要勉强自己了,难的不会也正常
按类型刷题,先刷数组,然后链表,然后二叉树、动态规划等等
做完一道题,不要以“通过”就满足,再想想有没有更优的解法,多想几遍加深印象
反复刷,尤其是面试前要反复刷,使自己在做题的一种氛围中