【找到的比较好的项目】马上拿走

还怕没项目经验?下面4个项目乱杀

以下项目含金量按照难度进行排序,并且简历模板都在下面了,趁用的人少!直接照搬!

项目地址以及讲解:

git:https://gitee.com/XhyQAQ

b站:https://space.bilibili.com/152686439

分库分表路由组件

项目名称:Xhy-DBRouter 分库分表中间件

系统架构:

​ 基于 AOP、Spring 动态数据源切换、MyBatis插件开发、散列算法等技术

项目介绍:

​ 该项目基于SpringBoot的starter中间件开发,用于优化应用程序数据库路由设计,支持动态切换数据源,自定义路由策略算法。并且采用了HashMap扰动函数散列形式,将数据散列到不同库表中,以减轻单库表的压力

核心技术: AOP、AbstractRoutingDataSource、MyBatis Plugin、StatementHandler、扰动函数、哈希散列,ThreadLocal

项目职责:

​ 1.设计和实现动态数据源切换功能,以支持访问不同数据库

​ 2.开发路由散列计算功能,并采用HashMap扰动函数散列形式散列到不同库表

​ 3.通过利用SpringBoot自动装配机制,使该中间件可以简化集成和使用

​ 4.提供可拓展的接口,方便用户根据自身需要扩展功能,从而更好地满足不同的业务需求

付出/收获:

收获程度:⭐⭐⭐⭐⭐

上手难度:⭐⭐⭐

价值:⭐⭐⭐⭐⭐

收获到的知识:

SPI,ThreadLocal,Mybatis插件,HashMap底层原理,SpringBoot自动装配,分库分表知识等…

RPC组件

项目名称:SpringBoot - Starter RPC组件

系统架构:

​ SpringBoot+Netty+Zookeeper+Redis

项目介绍:

​ Xhy-Rpc是一款支持支持多种序列化方式的高性能RPC框架,具备zookeeper和redis注册中心的功能,支持多种负载均衡策略和故障转移重试机制。通过引入SpringBoot自动装配机制,简化了配置过程。

主要工作:

​ 1.将请求进行封装,采用了Java的动态代理封装调用逻辑,进而使用更加方便

​ 2.自定义传输协议封装请求头和请求体,并且支持Hessian,Json等序列化方式

​ 3.采用Zookeeper以及Redis作为注册中心,完成服务注册与服务发现功能,并提供可拓展接口以支持其他注册中心

​ 4.支持轮询,一致性哈希等负载均衡,分担服务器压力

​ 5.支持故障转移,重试机制,使服务更加健壮

​ 6.引入SpringBoot自动装配机制,便于服务提供消费方接入使用

付出/收获:

收获程度:⭐⭐⭐⭐⭐

上手难度:⭐⭐⭐

价值:⭐⭐⭐⭐⭐

收获到的知识:

Netty+Zookeeper+负载均衡算法+Rpc基础理论知识+SpringBoot自动装配原理等…

学了RPC在后面学习dubbo能更加轻松

宝石商人

项目介绍:

​ 宝石商人是一款卡牌回合制游戏,由2-4名玩家游玩。玩家需要每回合换取规定的有限的宝石,换取相应的有限的卡牌。卡牌有相应的策略以及分数。在玩家拥有15分后,该玩家胜利

核心技术: SpringBoot、Netty

项目职责:

​ 1.运用策略、工厂、模板设计模式综合使用,易于开发方便以及项目维护

​ 2.使用软引用解决游戏日志过多导致OOM问题

​ 3.使用JDK延迟队列实现当前玩家长时间挂机自动跳过该回合功能

​ 4.采用JDK延迟队列实现心跳并且提供掉线重连,供玩家掉线后继续游玩

​ 5.利用Python实现辅助工具,计算出每个玩家当前回合最优拿牌策略以及当前玩家拿牌后下个玩家能拿到最优的牌

付出/收获:

收获程度:⭐⭐⭐

上手难度:⭐⭐⭐⭐

价值:⭐⭐⭐

收获到的知识:

Netty+JUC

因为这个项目比较特殊,并没有采用数据库,因此需要考虑数据安全以及OOM的问题,并且主要核心是Netty,那这个项目的考点也在Netty,Netty的下限低,上限很高,需要着重考虑

文件收集平台

项目介绍:

​ 该平台可帮助团队轻松收集、管理和共享文件。通过团队隔离、云端存储、定时任务、日志记录和在线预览文件等功能,提升了团队协作效率,简化了文件收集流程,节省了时间和精力。

核心技术:

​ SpringBoot+MySql+OSS+MyBatis

项目职责:

​ 1.使用AOP实现自定义权限,代替冗余配置的安全框架,来达到项目中团队隔离的实现方式

​ 2.使用OSS进行文件存储,且采用STS以及防盗链的方式保护下载的url

​ 3.使用延迟队列+线程池的方式实现动态更新可拓展的定时任务

​ 4.开发在线预览文件工具达到在线查阅文件操作

付出/收获:

收获程度:⭐⭐⭐

上手难度:⭐⭐

价值:⭐⭐

收获到的知识:

权限,OSS深一步的学习,可拓展的定时任务。

其实这个项目可拓展的地方还有很多,并且是应用类级别

可拓展的点:机器人,提醒,自动化脚本(更进一步减少重复任务配置)

你可能感兴趣的:(java)