J3code(三哥编程)

 

推荐🎁:1024 程序员节,搞促销了(长期有效)

推荐👉:J3code文档宝典|各种资源应有尽有

🙈 简介 🙈

我是三哥,98 年坠地的江西小伙、21 届本科毕业生、全网累计读者 1W+、全网累计浏览量 150W+。目前就职于广州某小型公司,从事 Java 后端开发岗位。

座右铭:不必遗憾,若是美好,叫做精彩。若是糟糕,叫做经历。

联系方式:

👆👆欢迎咨询编程问题👆👆

见面礼

😁 作品 😁

① 社交支付项目(小老板)

随着个人收款限制的放开【当面付】,越来越多的用户都希望通过该功能实现副业收入。所以本项目就孕育而生,通过绑定用户的支付配置,达到极简的付款功能。并且还提供了相关社交功能,从而让本系统的玩法充满了更多的可能性。

项目技术:

主要功能:

  1. 使用 JDK11 + SpringCloudAlibaba + 多服务构建项目基础环境,整体采用 MVC 模式开发。
  2. 通过对接腾讯短信服务,实现平台短信登录相关功能。
  3. 使用 Gateway 做项目统一请求入口,并通过网关的全局过滤器实现了用户 IP 访问的限流处理及每次请求的认证与续约功能。
  4. 利用 AOP + Redis + 自定义注解实现分布式锁,其中实现包括上锁、解锁、续约、强制暂停业务线程等功能。
  5. 采用 AOP + 自定义注解方式,实现用户与商户的接口访问权限。
  6. 使用预订单 + 支付宝回调 + 定时任务架构,确保用户支付成功,订单状态 100% 改为已支付。
  7. 通过 IO 流记录请求 IP + 定时任务刷新 Redis IP 黑名单集合值,实现项目 IP 黑名单功能。
  8. 根据 Redis 的 HyperLogLog 数据类型 + 定时任务持久化到数据库,实现项目中各种业务数据的浏览量功能。
  9. 使用 Redis 的 hash 数据类型 + 定时任务持久化到数据库,实现项目中各种业务数据的点赞功能,并对点赞记录做水平分表处理,防止单表数据过大,影响性能。
  10. 使用 RocketMQ + 推拉模型,实现项目中的点赞、评论、关注、公告等各种消息通知,并对用户收件箱做水平分表处理,防止单表数据过大,影响性能。
  11. 集成 SpringBoot Admin 监控平台,对项目中各个服务实例做健康、性能、日志等数据的监控。

体验地址(内网穿透部署,较慢):👉点这里

获取地址😁:👉点这里

视频地址😎:👉点这里


② 抽奖系统

这个系统算是一个比较大的项目了,有后端也有前端,其主体业务是围绕抽奖展开,其中主要实现功能有:

  1. 利用阿里推出的 COLA 架构将抽奖服务中的各个模块进行分层,使每层只需关注本层业务逻辑,很好的实现了业务逻辑解耦,系统代码也更加利于迭代和维护。
  2. 使用 Gateway 做系统统一请求入口,并通过网关的全局过滤器实现了用户IP访问的限流处理及每次请求的认证与续约功能。
  3. 使用 JWT 生成登录信息并将 token 字符串存入 Redis 实现用户登录功能。
  4. 采用模板方法的设计模式,将复杂的抽奖逻辑分成一个个通用的方法,针对不同的实现逻辑生成对应的实现类,方便后续的优化及维护。
  5. 采用缓存预热,对库存进行扣减提高抽奖接口吞吐量(由320 提高到1260)并搭配 Redis + Lua 脚本保证扣减库存或回滚库存的原子性。
  6. 使用预订单 + RocketMQ + 定时回查方案实现中奖信息 100% 发放到用户账户中。
  7. 利用 AOP + Redis + 自定义注解实现分布式锁,其中实现包括上锁、解锁、续约、强制暂停业务线程等功能。

技术:

详细文档:👉点这里


③ 赞赏平台

一个对接支付宝的买卖平台,其中,平台内容由我来发布,免费内容大家只需注册即可观看,如需付费则支付相关费用方可查看。

虽然项目规模较小,但也是五脏俱全,前端后端分离,认证,支付,分布式问题都有实现。对于没有做过个人项目特别是没做过支付项目的小伙伴来说,用来练手或者写在简历上都是未尝不可的。

下面是项目中几个重要的业务点:

  1. 网关服务统一认证、限流
  2. 商品支付及订单状态回填保障
  3. 手写分布式锁实现并发修改订单问题

技术

访问地址:👉点这里

相关文章介绍:个人支付项目,已稳定收款 100+


④ Java 并发全解

这不是一个项目,而是我亲手打造的一门 Java 并发编程的深入学习课程。对,它就是一门课程,而且我觉得应该是目前 B 站上讲的最深😁、讲的最细😎、讲的最广😀且视频完全免费的一门课程了。

具体有多🧡:我把 volatile 和 synchronized 关键字的 Hotstop 源码实现都完全讲了一遍

具体有多💛:我的每一节课都有视频 + 15W 字笔记 + 详细流程图 + 案例代码 + 1G多的电子书籍

具体有多广😀:从并发理论到并发入门再到并发深入,全都有涉及而且 JUC 源码是必须要全部分析的

这套课程可以说不论是正在学习 Java 的小伙伴还是三年经验以下的工作者都非常适用,那么具体的视频内容点击下面链接获取:

访问地址 👉点这里


⑤ B站:J3code

对,没错!我还是一名 B 站 UP 。

22 年 6 月份的时候,我为了不安于现状,所以才开通了 B 站,选择做一名 UP。

为什么说是为了不安于现状而做 UP 呢!因为我主打直播 + 录视频的方式向外界分享我的所思、所想、所学。

既然是直播 + 录视频,那么肚子里必须要有点墨水,不然何以分享,所以我开始疯狂的学习各种技术,编写各种笔记文档。

现如今,我 B 站上的视频也达到了 160+ ,下面是我觉得还不错的视频系列:

当然,还有很多不错的视频了,详细了解请访问下面地址。

访问地址:👉点这里

🐶 文章 🐶

我对编程的认知始于大学,如果要更具体点的话,那就是大学 C 语言课。

自此之后我就开启了一扇崭新的大门,里面充斥着各种英文字母,它们拆开我认得,组合在一起确是目不识丁。怎么办?问老师的话,估计会把他们烦死;问同学的话,估计他们比我的问号还多,所以,只能靠自己。

之后,我就在网上各种百度,搜贴,用这种方式将找到的技术文章作为学习资料和解决问题的老师。时间久了之后,我就在想,我能不能也这样写写文章呢!

说干就干,就有了下面这些文章积累( 100+ 原创)。

1、掘金👉:J3

2、CSDN👉:J3

3、公众号👉:J3code

4、知乎👉:J3

🐕‍🦺 码农历程 🐕‍🦺

码农的开始起源于高考填报志愿。

那时,不知道选啥专业,但有一点我还是清楚的就是做和电脑相关的。为啥要和这个相关,因为我那会经常网吧通宵打游戏玩电脑,所以要学个和电脑相关的专业。

所以,我把以下几个专业都选了个遍。

最终就被录取到了软件工程这个专业了,现在回头想想还是可以的。

大一和大二我过的很轻松,除了应付考试,其它的就是玩~

但是大三就不一样了,因为知道在学校的时光就只剩这一年了(我们学校是 3 + 1),而我也清楚自己不是考研的料,所以就打算直接大四步入社会,让社会人来拷打我。

大三就一年,为了不荒废专业所学,所以我毅然而然的选择了和专业相关的编程道路,更准确的说是直接选择了 Java 这门编程语言死磕到底。

在一年的学习中,我见过了校园 5 点的清晨、感受了夜晚 11 点的图书馆、看完了堆积如山的资料、写完了 5+ 本笔记。

最终大四那年我通过实习,养活了自己,也走上了由学生转为社会人的道路上。

我有过两次实习:

一次全职:

这期间我深知持续学习的重要性,所以在工作之余不间断的给自己充能来提升自己,而我充能的很大一部分途径就是看书。

以下是我读过的书籍:

另一部分充能就是写文章,通过写文章进行查缺补漏,把不懂得或模棱两可的都通过文字的形式记录下来,再百度找资料,以这种形式来学习,所以有了我 CSDN 上 100+ 的技术文章积累。

文章地址可看(他的文章)一节。

💰 赞赏 💰

注:赞赏之后请一定要加本人微信,让我知道是谁在背后默默的支持我 🤞🤞🤞。