Java零基础到就业学习路线图
2024-09-09 10:16:21 0 举报
AI智能生成
Java零基础到就业学习路线图是一个系统化的学习计划,涵盖了Java编程的核心知识。整个路线图分为七个阶段,分别是:Java基础、面向对象、异常处理、数组与算法、Java集合框架、IO流与多线程和网络编程。每个阶段都提供了相关的学习资料和学习目标。在学习过程中,还需要掌握文件类型的操作,如.java文件的编译和运行,以及运用各种修饰语如public、private、protected和default来实现封装、继承和多态等面向对象编程特性。
作者其他创作
大纲/内容
让一部分人,现就业!
Java自学护航计划 by代码岛
SpringBoot 简介
起步依赖原理
快速入门
yaml
properties
配置文件分类
读取配置文件
profile多环境配置
配置管理
单元测试
整合MyBatis
整合springmvc
技术整合
源码讲解
自定义starter
原理讲解
事件监听
容器监控
SpringBoot
一个前后端分离博客项目
简介
Vue
ElementUI
Axios
前端
Shiro
Redis
JWT
Springboot
Mybatis-plus
SpringMVC
后端
技术栈
SpringBoot整合Mybatis-plus
使用Mybatis-plus生成代码
Shiro整合JWT身份校验
统一结果集
跨域解决
参数校验
登录接口开发
博客相关接口开发
Vue骨架工程整合Axios
Vue骨架工程整合ElementUI
登录页面
博客列表
详情展示
开发步骤
前后端分离项目实战VueBlog(博客项目)
eureka的作用分析
搭建EurekaServer
实现服务注册
Nacos介绍和安装
Nacos快速入门
Nacos与Eureka区别
Nacos服务多级存储模型
Nacos集群优先的负载均衡
Nacos的实例权重配置
Nacos的环境隔离
Nacos配置管理快速入门
配置动态刷新
多环境配置共享
跨服务配置共享
Nacos集群
服务发现与注册Nacos/Eureka
服务框架课程整体介绍
认识微服务
远程调用Demo
基于RestTemplate实现远程调用
提供者与消费者
实现服务拉取和负载均衡
Ribbon负载均衡原理
Ribbon负载均衡策略
Ribbon饥饿加载
OpenFeign快速入门
OpenFeign自定义配置
OpenFeign性能优化
OpenFeign的实践
远程调用/OpenFeign
网关介绍
Gateway路由快速入门
路由断言工厂PredicateFactory
过滤器工厂FilterFactory-添加请求头
过滤器工厂-限流原理
过滤器工厂-限流实现
全局过滤器介绍
全局过滤器案例
Gateway的跨域配置
网关/Gateway
SpringCloud/Alibaba
初始Docker
Docker和虚拟机的区别
Docker架构
Docker安装
Docker镜像操作
Docker容器命令介绍
Docker容器案例
数据卷命令
数据卷案例
自定义镜像-镜像结构
自定义镜像-Dockerfile
初始DockerCompose
部署微服务集群
Docker镜像仓库
容器化技术
adminLTE使用
adminLTE示例产品添加
表结构设计和介绍
需求分析
项目核心功能演示
SSM环境搭建
技术栈功能介绍
产品相关接口编写
产品CRUD
分页插件Pagehelper使用
产品管理
订单创建接口
订单查询接口
订单管理
权限操作Springsecurity的使用
登录登出接口编写
Springsecurity源码分析
用户接口编写
角色接口编写
资源接口编写
用户关联角色/角色关联权限
方法级别权限控制
权限管理
日志的作用
AOP实现日志记录
日志管理
SSM综合实战(商城类)
电商
教育
众筹
交友
微服务项目实战
任选1
1V1 简历修改
1V1面试指导
如何熟悉项目代码?快速上手工作
团队协作工具如何使用?
公司各个部门及岗位的职责?
如何跟各岗位之间沟通?
1V1 指导度过试用期
1V1职业规划
1V1职后学习内容规划
姓名
联系方式
邮箱
个人网站/博客
个人信息
学校名称
所学专业
学位/学历
毕业时间
教育背景
公司名称
职位
工作时间
工作内容
项目名称
项目描述
项目职责
项目技术栈
项目经验
工作经历
编程语言
框架/库
数据库
操作系统
版本控制工具
其他技能
技术技能
相关证书
获得奖项
证书与奖项
项目链接
个人项目
个人特点
职业目标
对编程的热爱
自我评价
个人爱好
其他语言能力
开源贡献
附加信息
程序员简历优化
了解公司背景
查看公司网站
阅读公司新闻
了解公司产品或服务
研究公司
强调个人优势
与职位要求对应
突出工作经验
展示成就和技能
准备自我介绍
突出相关经验
强调成就和贡献
简洁明了
避免错别字和语法错误
整理简历
为什么离开上一份工作
你的优点和缺点是什么
为什么选择我们公司
你的职业目标是什么
解释你的工作间隙
研究常见面试问题
关于公司的问题
关于职位的问题
关于团队和文化的问题
关于发展和培训的问题
准备问题
与他人模拟面试
准备回答问题的思路
注意肢体语言和表达清晰
练习面试
穿着得体
干净整洁
注意细节和形象
准备衣着和形象
确定面试地点
查看交通路线
提前到达面试地点
查看面试地点和时间
准备阶段
展示自信和积极的态度
保持良好的眼神接触
倾听并回答问题
展示专业知识和技能
积极表现
理解问题并思考答案
简洁明了地回答问题
使用具体的例子和经验
避免模棱两可的回答
回答问题
提问有关公司和职位的问题
避免问薪资和福利问题
关注发展和机会问题
展示对公司的兴趣和热情
提问问题
强调适应新环境的能力
展示解决问题的能力
展示学习和成长的态度
展示适应能力
面试技巧
面试准备与技巧
就业集训
associaction
collection
Mybatis的延迟加载
CRUD
Mybatis的注解开发
一级缓存
二级缓存
Mybatis的缓存
UNPOOLED(不使用连接池的数据源)
POOLED(使用连接池的数据源)
JNDI(使用 JNDI 实现的数据源)
Mybatis的数据库连接池
Mybatis的事务
<if/>
<where/>
<foreach/>
<sql/>
Mybatis动态SQL
一对一(多对一)
一对多
多对多
Mybatis的多表关联查询
根据 ID 查询
保存操作
更新操作
删除操作
模糊查询
聚合函数
Mybatis基于xml的增删改查
Mybatis较于JDBC的优势
常用的八大基本类型
集合
Map
对象
...(也可省略)
parameterType
输入参数
基本类型
引用类型
resultType
关联查询
数据库列名和对象属性名不一致时
ResultMap
输出参数
Mybatis映射文件常用参数
Mybatis传统DAO层的开发
typeAliases(别名)
<mapper resource=" " />
<mapper class=" " />
<package name=""/>
mappers(映射器)
核心配置文件
框架的概念
框架的作用
软件开发的分层思想
Mybatis(持久层)
Spring(业务层)
SpringMVC(表现层)
常用的框架
框架
传统JDBC开发存在的问题
1、搭建maven工程
2、加Mybatis依赖
3、核心配置文件
5、映射文件
6、编写接口
6、测试
基于xml
搭建工程
4、编写接口添加注解
基于注解
Mybatis的入门案例
自定义Mybatis框架
MyBatis/MyBatisPlus
@Component
@Service
@Controller
@Repository
1.创建Bean对象
@Autowired
@Qualifier
@Resource
@Value
2. 自动装配数据
@Scope
3. 作用域范围注解
@PostConstruct
@PreDestroy
4. 生命周期相关注解
Spring得常用注解
@Configuration
@ComponentScan
@Bean
@PropertySource
@Import
Spring5.x得新注解
传统的测试
@RunWith 注解替换原有运行器
@ContextConfiguration 指定 spring 配置文件的位置
Spring的测试
注解和XML配置的使用选择
Spring中的JdbcTemplate
spring是什么
spring的发展历程
spring的优势
spring的体系结构
Spring的概述
程序间的耦合
IoC的概念和作用
IoC的概念
基于XML的IoC的配置
BeanFactory
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
AnnotationConfigApplicationContext
ApplicationContext
Bean对象创建的时机
id
class
scope
init-method
destory-method
bean标签的配置
单例: singleton
多例: prototype
Bean的作用域和生命周期
1,使用默认构造函数
2,静态工厂
Bean实例化的方式
IoC配置的细节
Spring的IoC解决耦合的思路
IOC
DI的概念
构造函数注入
set方法注入
SpEL
Spring依赖注入(DI)
DI
AOP的概念
Joinpoint(连接点):
Pointcut(切入点):
Advice(通知/增强):
Aspect(切面):
织入(Weaver)
AOP的术语
JDK代理的问题分析
JDK动态代理
CGLIB代理的问题分析
CGLIB动态代理
动态代理
<aop:config> : 用于声明开始 aop 的配置
<aop:aspect id="" ref="txManager"> :配置切面
<aop:pointcut expression="execution() :切入点表达式
前置通知:<aop:before method="" pointcut-ref=“"/>
后置通知:<aop:after-returning method="" pointcut-ref=""/>
异常通知:<aop:after-throwing method="" pointcut-ref=""/>
最终通知:<aop:after method="" pointcut-ref=""/>
环绕通知:<aop:around method="" pointcut-ref=""/>
通知类型
基于XML的AOP配置
@Aspect:表明当前类是一个切面类
@Pointcut
@Before:
@AfterReturning
@AfterThrowing
@After
@Around
基于注解的AOP配置
AOP
PlatformTransactionManager:spring事务管理器
数据库的隔离级别
spring事务的隔离级别
spring事物的传播属性
TransactionDefinition:事务相关的信息
TransactionStatus:事务运行的状态信息
Spring中的事务
配置事务管理器
声明aop配置
配置切入点
配置事务通知属性
基于XML的事务控制
spring的主配置类
持久层相关的配置
业务层添加事务注解@Transactional
基于注解的事务控制
JDK基线更新
反应式编程模型
核心容器更新
支持Kotlin函数式编程
测试方面的提升
Spring5.x的新特性
事务
Spring5.x
持久层
业务层
表现层
三大框架整合(SSM)
视图名称
forward(请求转发)
redirect(重定向)
1、字符串
1、使用 request 请求转发
2、使用response重定向
2、void
3、ModelAndView
@ResponseBody
4、JSON
响应数据类型
文件上传的原理
第三方组件实现文件上传
配置文件上传处理器 CommonsMultipartResolver
控制器使用 MultipartFile
文件上传
自定义异常处理器类
注解@ExceptionHandler
异常处理
自定义拦截器
多拦截器执行顺序
用户登录拦截
拦截器
三层架构
Model (模型)
View (视图)
Controller(控制器)
MVC模型
执行流程
DispatcherServlet:前端控制器
HandlerMapping:处理器映射器
HandlAdapter:处理器适配器
View Resolver:视图解析器
三大组件
默认配置
SpringMVC概述
1、它们都是表现层框架,都是基于 MVC 模型编写的。
2、它们的底层都离不开原始 ServletAPI。
3、它们处理请求的机制都是一个核心控制器。
相同点
2、Spring MVC 是基于方法设计的,而 Struts2 是基于类, Struts2 每次执行都会创建一个动作类。所以 Spring MVC 会稍微比 Struts2 快些
不同点
SpringMVC 和 Struts2 的优略分析
Spring相关依赖
SpringMVC相关的依赖
添加依赖
DispatcherServlet
配置前端控制器
包扫描器
视图解析器
注解驱动
SpringMVC配置
RequestMapping继承
RequestMapping的属性
@RequestMapping
编写控制器类
SpringMVC的执行流程
SpringMVC入门案例
2. 绑定简单类型,String Integer
3. 绑定JavaBean 如User
4. 绑定包装对象
5. 绑定集合
实现 Converter
配置类型转换器
6.自定义类型转换
参数绑定
@RequestParam
@RequestBody
路径\t
资源设计
HTTP请求设计及示例
返回值类型
Content Type(返回资源的展示方式)
常见状态码
返回结果
RESTfu设计风格
请求处理过滤器
@PathVariable(RESTful风格)
@RequestHeader
@CookieValue
@ModelAttribute
@SessionAttribute
常用注解
SSM经典框架
速览速背
分层结构
区别
TCP三次握手,四次挥手
TCP/UDP
无状态
长连接、短链接
HTTP/HTTPS
状态码
Cookie 和 Session
URI和URL
计算机网络
能理解最好,不理解先背,不要花太多时间
状态
同步
死锁
线程和进程
数组
链表
栈
队列
树
堆
数据结构
算法的概念和特点
算法的分类
算法定义
时间复杂度
空间复杂度
算法复杂度
算法基础
冒泡排序
选择排序
插入排序
快速排序
排序算法
线性查找
二分查找
查找算法
深度优先搜索(DFS)
广度优先搜索(BFS)
最短路径算法
图算法
动态规划算法
贪心算法
常见算法
分治法
动态规划
回溯法
递归思想
算法设计思想
图像处理算法
数据压缩算法
密码学算法
机器学习算法
人工智能算法
算法应用
伪代码
编程语言实现
调试和优化
算法实现
正确性分析
时间复杂度分析
空间复杂度分析
稳定性分析
算法分析
优化时间效率
优化空间效率
算法改进
剪枝
缓存
并行计算
算法优化技巧
算法优化
最短路径算法在导航系统中的应用
排序算法在数据处理中的应用
图像处理算法在图像编辑软件中的应用
贪心算法在任务调度中的应用
动态规划算法在背包问题中的应用
算法应用案例
NP完全问题
算法的边界条件
算法的可扩展性输出结果已整理为思维导图并保存为txt格式。
算法挑战
算法
数据结构和算法
单例
工厂
代理
适配器
观察者
模板
设计模式(23种)
会实现
能看懂
任何学习问题均可微信:fangxinma123
计算机基础
Java语言概述
JDK和JRE
JDK下载与安装
JDK卸载
path
classpath
配置环境变量
Notepad++
IDEA(高级)
Eclipse(不推荐)
Java开发工具
环境准备
关键字
标识符
单行注释
多行注释
文章注释
注释
二进制
十进制
八进制
十六进制
进制转换
原码
反码
补码
常量
变量
byte
short
int
long
整数类型
float
double
浮点类型
数值型
char
字符型
boolean
布尔型
基本数据类型
类
接口
引用数据类型
数据类型
加 +
减 -
乘 *
除 /
取模 %
自增 ++
自减 --
算术运算符
=
+=
-=
/=
%=
赋值运算符
==
!=
>
<
>=
<=
instance of
比较运算符
与 &
或 |
异或 ^
非 !
短路与 &&
短路或 ||
逻辑运算符
右移 >>
左移 <<
无符号 >>>
位运算符
(关系表达式) ? 表达式1 :表达式2
三目运算符
运算符
语法基础
顺序结构
if
switch
选择结构
for
while
do.... while
循环结构
流程控制语句
break
continue
return
跳转控制语句
定义
格式
返回值
重载
覆盖
方法
概念
数据类型[] 数组名
数据类型 数组名[]
格式
初始化时只指定数组长度,由系统为数组分配初始值
动态初始化
初始化时指定每个数组元素的初始值,由系统决定数组长度
静态初始化
一维数组
初始化
二维数组
数组内存分配
Java内存分配
数组索引越(ArrayIndexOutOfBoundsException)
空指针异常(NullPointerException)
常见数组异常
面向过程
面向对象思想
封装
继承
多态
面向对象特征
对象内存图
匿名对象
private
this
static
super
final
abstract
构造方法
类的初始化过程
成员变量
局部变量
静态变量
局部代码块
静态代码块
构造代码块
代码块
抽象类
包
public
protected
权限修饰符
成员内部类
局部内部类
内部类
面向对象
hashCode()
getClass()
toString()
equals(Object obj)
finalize()
clone()
Object
nextInt()
nextLine()
Scanner
equals(Object obj)
equalsIgnoreCase(String str)
contains(String str)
startsWith(String str)
endsWith(String str)
isEmpty()
判断功能
length()
charAt(int index)
indexOf(int ch)
indexOf(String str)
substring(int start)
获取功能
getBytes()
toCharArray()
valueOf(char[] chs)
valueOf(int i)
toLowerCase()
toUpperCase()
concat(String str)
转换功能
trim()
替换功能
compareTo(String str)
compareToIgnoreCase(String str)
比较功能
String
StringBuffer
StringBuilder
Arrays(工具类)
Byte
Integer
Long
Float
Double
Character
Boolean
包装类
正则表达式
abs(int a
子主题 2
ceil(double a)
floor(double a)
random()
round(float a)
sqrt(double a)
Math
nextInt(int n)
Random
gc()
exit(int status)
currentTimeMillis()
System
BigDecimal
DateFormat
SimpleDateFormat
DateUtil
Calendar
Date
API-常用类
栈:先进后出
队列: 先进先出
数
哈希表
常见数据结构
Collection
泛型
Iterator
ArrayList: 底层数组,查询快,增删慢,线程不安全,效率高。
Vector: 底层数组,查询快,增删慢,线程安全。效率低。
List
HashSet: 无序,不重复
LinkedHashSet: 有序,唯一,
TreeSet: 自然排序,不重复,底层红黑树
Set
HashMap: hash表结构,可保键唯一
LinkedHashMap: 链表和哈希表,有序,
TreeMap : 红黑树:保证键排序和唯一
public static <T> void sort(List<T> list)
public static <T> T max(Collection<?> coll)
public static void reverse(List<?> list)
public static void shuffle(List<?> list)
Collections工具类
概述: 文件和目录路径的抽象表示
public File(String pathname)
创建文件: public boolean createNewFile()
创建文件夹: public boolean mkdir()
创建多级目录文件夹: public boolean mkdirs()
创建文件
删除文件 public boolean delete()
删除方法
重命名文件: public boolean renameTo(File dest)
重命名
public boolean isDirectory()public boolean isFile()public boolean exists()public boolean canRead()public boolean canWrite()public boolean isHidden()
public String getAbsolutePath()public String getPath()public String getName()public long length()public long lastModified()
基本获取功能
public String[] list()public File[] listFiles()
高级获取
方法自己调用自己的现象
递归
File类
FileInputStream(File file)FileInputStream(String name)
public int read()public int read(byte[] b)
FileInputStream
BufferedInputStream
InputStream
FileOutputStream(File file)FileOutputStream(String name)
FileOutputStream
BufferedOutputStream
OutputStream
字节流
BufferedReader 字符缓冲流
FilerReader 字符流简写
InputStreamReader
Reader
BufferWriter
FileWriter
OutputStreamWriter
Writer
字符流
DataInputStream
DataOutputStream
数据流
ByteArrayInputStream
ByteArrayOutputStream
操作字节
CharArrayReader
CharArrayWriter
操作字符
StringWriter
StringReader
操作字符串
内存操作流
字节打印流
字符打印流
打印流
System.in
System.out
标准输入输出流
RandomAccessFile
随机访问流
SequenceInputStream
SequenceOutputStream
合并流
ObjectOutputStream
ObjectInputStream
序列化流
Properties
常用的流
IO流
Java语言基础
JDBC的作用
JDBC的适用场景
JDBC概念
Connection
Driver
DriverManager
Statement
PreparedStatement
CallableStatement
ResultSet
ResultSetMetaData
JDBC对象讲解
增加
删除
修改
查询
CURD
C3P0
Druid
DBCP
数据库连接池
数据库简介
关系型
非关系型
内存型
磁盘型
数据库的种类
Oracle
Mysql
MongoDB
常见数据库
数据库概述
DDL语言的使用
DML语言的使用
DQL语言的使用
SQL语言分类
主键约束
外键约束
唯一约束
检查约束
默认约束
span style=\
一对一
多对一
表关系
自关联查询
内连接查询
外连接查询
子查询
多表操作之查询
原子性
一致性
隔离性
持久性
事务的特性
Read Uncommited
Read Commited
Repeatable Read
Serializable
事务的隔离级别
数据库技术(MySQL)
IDEA的安装
常用的配置
插件安装
常用快捷键
创建工程
工具栏介绍
IDEA
Maven的安装
maven的仓库
maven生命周期
依赖管理
Maven
安装与配置
基本命令
分支管理
冲突解决
仓库管理
Git
NoSql概述
Hash
Zset
Redis数据类型
RDB
AOF
Redis持久化
什么是RabbitMQ?
RabbitMQ的特点
RabbitMQ的用途
RabbitMQ的架构
RabbitMQ的工作流程
RabbitMQ的消息传递模型
RabbitMQ的可靠性保证机制
RabbitMQ
RabbitMQ的安装步骤
RabbitMQ的配置文件
RabbitMQ的集群配置
Exchange
Queue
Binding
Routing Key
Message
Producer
Consumer
基本概念
Direct Exchange
Fanout Exchange
Topic Exchange
Headers Exchange
消息传递模型
持久化
消息确认机制
消息优先级
消息过期时间
死信队列
延迟队列
消息轨迹
集群与高可用性
高级特性
异步任务处理
日志收集与分析
分布式系统之间的通信
发布/订阅模式
RPC调用
使用场景
连接问题
消息丢失问题
性能调优
集群部署问题
常见问题与解决方案
官方文档
教程和示例
博客文章
书籍推荐以上为RabbitMQ的相关资料思维导图。
参考资料
RocketMQ简介
RocketMQ的特点
RocketMQ的应用场景
RocketMQ基本介绍
Topic
Broker
Name Server
RocketMQ的核心概念
RocketMQ的生产者-消费者模型
消息队列的存储模型
RocketMQ的高可用架构
RocketMQ的架构
RocketMQ的安装和部署
RocketMQ的配置文件
RocketMQ的集群部署
RocketMQ的监控和管理
RocketMQ的部署和配置
消息的顺序性
消息的事务性
消息的广播模式
RocketMQ的高级特性
RocketMQ
MQ(消息中间件)
工具/中间件
工具,会用即可
table
表单
iframe
h标签
p标签
a标签
img标签
html
body
元素
属性
HTML
css语法
盒子模型
css布局
使用css的静态页面实现
CSS
引入方式
输出
语句
函数(方法)
作用域
事件
字符串
比较
条件语句
选择语句
循环
类型判断
js语法快速入门
JavaScript
模板语法
响应式基础
计算属性
类与样式绑定
条件渲染
列表渲染
事件处理
表单输入绑定
生命周期
监听器
模板引用
组件基础
注册
Props
组件
插槽
请求与响应
Ajax
安装引用
Get
Post
请求拦截器
监听拦截器
前端部分
Web/BS/CS异同点
Tomcat安装
Tomcat常见配置
Tomcat目录结构
Tomcat的启动
Tomcat的部署访问
XML与Tomcat
Idea下新建web项目
Servlet继承关系
Http和Servlet
Session
Cookie
Session保存作用域
HTTP协议与Servlet
过滤器简介
处理乱码
过滤器
监听器介绍
监听器的使用场景
后端部分
登录功能
首页列表展示
添加图书
展示购物车
结算
订单
验证码
使用Axios和Vue改造购物车
使用Axios和Vue展示购物车详情小计
使用Axios和Vue计算数量和总金额
书城系统
需求介绍
Controller实现解决4个异常
登录验证左侧显示好友列表
展示日志列表
修改Top页面信息
获取日志详情
控制回复
删除回复
通用代码封装jar
QQzone
综合练习
JavaWeb
待你月薪过万,我们把酒言欢!
大学里面最重要的专业课就是这几门了。这也是科班生和非科班最重要的区别。中小公司让你会干活就行,需要研究底层,学不学看心情。大厂要做技术创新会研究底层,要求也高,但是即使进去了,也是干活的命,大部分是这样。
收藏
0 条评论
回复 删除
下一页