# Java实习生培训计划
author:徐振东
createTime:2024-11-22
# JAVA基础 (1周)
- 包装类的基本使用,理解装箱和拆箱的概念
- 字符串处理类String、StringBuilder、StringBuffer的基本使用和应用场景
- 继承基本语法和使用场景
- 熟悉final、super关键字
- 方法的重载与重写
- 接口和抽象类的定义和使用
- 成员内部类、静态内部类、方法内部类和匿名内部类的应用
- 多态的应用
- 使用try-catch-finally处理异常
- 理解throw和throws的区别,会使用自定义异常和异常链
- Java集合框架 List、Set、Map、Iterator的区别及日常使用
# 项目实战:
- 在实际编码中应用以上内容
# I/O流 (1周)
- 了解文件的编码
- 熟悉File类的常用API,学会遍历目录
- 了解RandomAccessFile类的基本使用
- 熟悉字节输入输出流 FileInputStream、FileOutputStream
- 熟悉字节缓冲流
- 字节字符转换流
- 字符流读取文件
- 熟悉字节的序列化与反序列化
# 项目实战:
- 实现递归遍历指定文件夹下的内容
- 实现文件的IO拷贝
- 实现读取指定路径下txt文本的内容并打印在控制台
# 多线程(2周)
- 了解线程的概念和生命周期
- 了解Java中如何启动线程
- 线程间通信
- ThreadLocal的概念及使用方法
- synchronized关键字
- Java Lock接口及其实现类, 了解其与synchroinzed在使用上的区别
- 线程间通信
- 了解多线程的并发集合同步队列、阻塞队列、延迟队列、优先级队列
# 项目实战:
- 全局变量counter=0, 启动10个线程,各个线程中调用
counter++
100次, 输出counter的最终值 - 启动两个线程交替执行
- 实现多线程下的单例模式
# MySQL(2周)
- 数据库的创建、表的创建、修改,熟悉DDL语句
- 数据库的增删改查等基本操作
- 数据库的数字、日期时间、字符等常用函数使用
- 理解数据库事务的ACID和隔离级别
- 使用JDBC实现数据库的增删改查
- 使用 PreparedStatment对数据进行预处理,防止SQL注入漏洞
- 数据库连接池Druid的使用
# 项目实战:
- 教务管理系统的数据库设计,要求至少能录入年级、班级、学生信息、考试成绩等信息
- 通过jdbc实现在代码中对教务管理系统至少一个模块数据的录入与查询
# Spring框架(2周)
- 学习Spring框架的基础知识。包含Spring核心模块、Spring MVC、Spring Aop等概念
- 学习如何使用 Spring容器和Spring配置文件,包含使用注解和 JavaConfig的配置方法,以及如何使用Spring IOC和 DI进行对象管理和依赖注入
- SpringMVC的配置、视图解析器、静态资源处理和文件上传
- 在Spring中实现对事务的控制
- 了解并熟悉面向切面编程
- 通过SpringAop实现切面编程。包括如何定义切面、切点、编写切面表达式和使用注解来控制AOP行为
# 项目实战:
- 结合教务管理系统的数据库设计,通过http接口实现数据的录入
- 通过SpringAop实现对http接口请求日志的记录
# MyBatis框架 (1周)
- 了解Mybatis开发的基本流程
- Mybatis常用注解
- MyBatis参数传递,了解并理解 ${} 和 #{} 的区别
- Mybatis多表关联查询
- Mybatis动态SQL
- Mybatis 一级缓存、二级缓存的概念和应用
- 了解PageHelper框架,实现分页
# 项目实战:
- 将教务管理系统中JDBC的代码实现替换为Mybatis
# Shiro框架(1周)
- 了解shiro框架的基本概念和原理
- 理解shiro的认证功能,实现用户登录
- 理解shiro的授权功能,实现用户授权
- shiro会话管理,保存用户的会话信息
# 项目实战:
- 在教务管理系统中通过shiro实现登录鉴权,仅登录用户可录入数据
# Redis(1周)
- 什么是Redis,Redis的应用场景
- Redis的服务端和客户端的安装
- 了解Redis的持久化
- 学习Redis的五种数据类型
- string 类型的操作
- list类型操作
- set类型操作
- hash类型操作
- sort set类型操作
# 项目实战:
- 在虚拟机中搭建部署Redis
- 通过编码实现对以上几种redis数据类型的操作
- 在教务管理系统中通过redis记录系统每天的访问量,并提供接口查询
# Kafka(2周)
- 理解 Kafka 的生产者消费者模型和基本原理
- 理解Kafka的架构组件、消息模型和生命周期。
- 掌握Kafka的安装方法和配置,实现 Linux 环境下部署 Kafka
- 学习生产者相关的参数配置,通过代码向 Kafka 的指定 topic 写入消息
- 学习消费者相关的参数配置,通过代码收取 Kafka 写入的消息
- 理解Kafka中消息的结构和格式,掌握Kafka的消息分区和副本机制
- 掌握 Kafka 和 Spring Boot 的集成
# 项目实战:
- 在虚拟机中搭建部署kafka
- 编码实现向kafka指定topic发送数据,并暴露http接口,可通过postman实现向kafka发送数据
- 编码实现收取kafka指定topic的数据