本文整理了 Java 开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。良心推荐!
第一阶段:Java基础
学习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 使用步骤 XMLHttp Request GET/POST的区别同步请求&异步请求同步请求&异步请求的区别Ajax获取不同的返回值类型Ajax使用原生JavaScript和Jquery的区别Ajax响应状态处理JSON语法Java JSON 解析Java JSON 生成Java JSON 第三方工具快速解析JavaScript JSON转换Jquery JSON转换
第四阶段:框架
重点知识点: 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注解装配BeanAOP思想、原理解剖传统方式实现 AOP 开发AspectJ介绍及实现AOP开发
Spring MVC
Spring MVC 概述使用 @ Request Mapping映射请求请求处理方法签名概述处理方法签名详细说明使用 HttpMessageConverter处理模型数据数据绑定流程剖析数据格式化数据校验视图和视图解析器处理方法的数据绑定视图和视图解析器文件上传下载JSON处理拦截器
MyBatis
MyBatis数据框架介绍MyBatis对比 Hibernate 框架MyBatis配置、查询数据MyBatis全局配置文件MyBatis全局配置文件元素详细介绍Mapper映射文件MyBatis两种开发方式MyBatis中别名配置MyBatis # 和 $ 拼接参数区别关联查询,动态sqlMyBatis缓存机制、整合 ehcache MyBatis二级缓存处理MyBatis、Spring、SpringMVC整合分页插件MyBatis逆向工程
第五阶段:其他热门技术
这一阶段属于拔高的部分。如果时间不够,着急找工作的话,可以跳过这部分,进入下一阶段,直接项目的学习,回头再补。
- Redis数据库学习
- Nginx 反向服务代理
- Docker
- ZooKeeper 分布式协调服务技术+Dubbo高性能的 RPC 服务发布和调用框架
- Spring Cloud
- RocketMQ
第六阶段:java商城项目
商城项目整合的知识点非常多,非常全,这一个项目可以把前面学到的知识,全部应用一遍,所以准备一个商场项目来面试的话,面试官能问的点有很多,能深问的点也很多。其实应届生找工作不需要特别丰富的项目经验,但如果一个项目都没有的话,肯定是不行的。
第七阶段:Java面试准备
大厂最爱考算法题,从笔试到每一轮的面试,都会考察的。为什么要刷题,因为面试官出的题基本上是在书上或者网上看到的,面试官也没有时间研究新题,所以多刷题命中率很高的。
推荐一个刷题学习网站,LeetCode,可能大家也都听说过,是一个刷算法题的网站,支持Java、 Python 、C++等各种语言,题目分为简单、中等和困难三种模式。
- 把简单题和中等题多刷一些,难的就不要勉强自己了,难的不会也正常
- 按类型刷题,先刷数组,然后 链表 ,然后 二叉树 、动态规划等等
- 做完一道题,不要以“通过”就满足,再想想有没有更优的解法,多想几遍加深印象
- 反复刷,尤其是面试前要反复刷,使自己在做题的一种氛围中