摘要: 【解决方案】基于数据库驱动的自定义 TypeHandler 处理器 笔者在最近的项目开发中,频繁地遇到了 Java 类型与 JDBC 类型之间的转换问题: 1、数据库的 varchar 类型字段,需要存储 Java 实体中的 JSON 字符串; 2、数据库的 int 类型字段,需要存储 Java 实体中的 Enum 枚举。 阅读全文
posted @ 2024-10-09 08:32 CodeBlogMan 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 【解决方案】Java 互联网项目中常见的 Redis 缓存应用场景 本文梳理总结了一些 Java 互联网项目中常见的 Redis 缓存应用场景,例如常见的 String 类型 Key-Value、对时效性要求高的场景、Hash 结构的场景以及对实时性要求高的场景等,全面涵盖了 Redis 中所有的 5 种基本类型。 阅读全文
posted @ 2024-09-23 08:27 CodeBlogMan 阅读(493) 评论(0) 推荐(2) 编辑
摘要: 【解决方案】项目重构之如何使用 MySQL 替换原来的 MongoDB 笔者今天要分享的是一个项目重构过程中如何将数据库选型由原来的 MongoDB 改为 MySQL 的思考,涉及到业务当前的痛点、选型分析、解决的核心思路,最后会给出简单的 demo。 阅读全文
posted @ 2024-09-02 08:17 CodeBlogMan 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 【团队建设】如何做好团队开发中的 CodeReview(代码评审)? 你是否曾写过一个很简单的需求或者优化?而且你认为不需要审查,就可以直接合并到主分支。可能过了几天或者几周,你突然意识到你犯了一个明显的或是不应该犯的错误,如果有其他人来审查代码,那这个问题可能就会被发现并及时处理。 阅读全文
posted @ 2024-08-19 08:16 CodeBlogMan 阅读(2564) 评论(4) 推荐(7) 编辑
摘要: 【解决方案】Java 互联网项目中消息通知系统的设计与实现(下) 书接上回,消息通知系统(notification-system)作为一个独立的微服务,完整地负责了 App 端内所有消息通知相关的后端功能实现。该系统既需要与文章系统、订单系统、会员系统等相关联,也需要和其它业务系统相关联,是一个偏底层的通用服务系统。 阅读全文
posted @ 2024-08-05 08:15 CodeBlogMan 阅读(842) 评论(4) 推荐(3) 编辑
摘要: 【进阶篇】一文搞清楚网页发起 HTTP 请求调用的完整过程 最近笔者在实际项目开发中会频繁涉及到服务之间的远程调用、域名的配置和请求的转发等与计算机网络相关的知识。 这些其实在读本科和考研的时候都有学习过理论,但为了更透彻地掌握便于在工作中使用,我还是决定写一篇文章来分享实际开发中是怎么应用的。 阅读全文
posted @ 2024-07-15 08:26 CodeBlogMan 阅读(1114) 评论(0) 推荐(2) 编辑
摘要: 【进阶篇】Java 项目中对使用递归的理解分享 笔者在最近的项目开发中,遇到了两个父子关系紧密相关的场景:评论树结构、部门树结构。具体的需求如:找出并删除某条评论下的所有子评论id集合,找出并删除某个部门下所有的子部门id集合。 阅读全文
posted @ 2024-07-02 08:12 CodeBlogMan 阅读(421) 评论(0) 推荐(1) 编辑
摘要: 【主流技术】聊一聊消息队列 RocketMQ 的基本结构与概念 RocketMQ 是阿里巴巴在 2012 年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于 2017 年 9 月 25 日成为 Apache 的顶级项目。 作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有稳定出色表现的国产中间件,以其高性能、低延时和高可靠等特性近年来已经也被越来越多的国内企业使用。 阅读全文
posted @ 2024-06-25 08:19 CodeBlogMan 阅读(810) 评论(0) 推荐(2) 编辑
摘要: 【解决方案】Java 互联网项目中消息通知系统的设计与实现(上) 消息通知系统(notification-system)作为一个独立的微服务,完整地负责了 App 端内所有消息通知相关的后端功能实现。该系统既需要与文章系统、订单系统、会员系统等相关联,也需要和其它业务系统相关联,是一个偏底层的通用服务系统。 阅读全文
posted @ 2024-06-19 08:00 CodeBlogMan 阅读(1343) 评论(0) 推荐(3) 编辑
摘要: 【进阶篇】使用 Stream 流对比两个集合的常用操作分享 Stream API 是 Java 8 中最为重要的更新之一,是处理集合的关键抽象概念,也是每个 Java 后端开发人员都必须无条件掌握的内容。 在之前的开发中,遇到了这样的需求:记录某个更新操作之前的数据作为日志内容,之后可以供管理员在页面上查看该日志。 阅读全文
posted @ 2024-05-27 08:13 CodeBlogMan 阅读(1030) 评论(2) 推荐(2) 编辑
摘要: 【进阶篇】基于 Redis 实现分布式锁的全过程 这一篇文章拖了有点久,虽然在项目中使用分布式锁的频率比较高,但整理成文章发布出来还是花了一点时间。在一些移动端、用户量大的互联网项目中,经常会使用到 Redis 分布式锁作为控制访问高并发的工具。 阅读全文
posted @ 2024-05-06 14:40 CodeBlogMan 阅读(1390) 评论(0) 推荐(2) 编辑
摘要: 【进阶篇】Java 实际开发中积累的几个小技巧(二) 笔者目前从事一线 Java 开发今年是第 3 个年头了,从 0-1 的 SaaS、PaaS 的项目做过,基于多租户的标准化开发项目也做过,项目的 PM 也做过... 在实际的开发中积累了一些技巧和经验,包括线上 bug 处理、日常业务开发、团队开发规范等等。现在在这里分享出来,作为成长的记录和知识的更新,希望与大家共勉。 阅读全文
posted @ 2024-04-16 10:09 CodeBlogMan 阅读(970) 评论(0) 推荐(3) 编辑
摘要: 【解决方案】多租户技术架构设计入门(一) 多租户的概念是我在毕业后不久进第一家公司接触到的,当时所在部门的业务是计划建设一套基于自研的、基于开放 API 的、基于 PaaS 的、面向企业(ToB)的多租户架构平台,将我们的服务可以成规模地、稳定高效地交付给客户使用。 阅读全文
posted @ 2024-04-07 10:06 CodeBlogMan 阅读(5375) 评论(0) 推荐(6) 编辑
摘要: 【主流技术】日常工作中关于 JSON 转换的经验大全(Java) 不知道大家在 Java 日常开发中是否会经常遇到关于 JSON 的各种转换的场景,我把自己日常工作中遇到的 JSON转换场景做了一个总结,希望可以对大家有帮助。 注:本文都是基于阿里的 fastjson 来讲解操作的。 阅读全文
posted @ 2024-03-11 16:56 CodeBlogMan 阅读(703) 评论(0) 推荐(3) 编辑
摘要: 【专业技能】程序员的软件工程素养之画好 UML 时序图 笔者在本科的时候上过软件工程的专业课,虽然也完成过类似的课堂作业,但是工作以后一直没怎么用上。碰巧前段时间有碰到一个复杂系统的部分功能设计,作为设计文档的一部分,时序图也被我拿起来派上用场了。 阅读全文
posted @ 2024-03-05 10:48 CodeBlogMan 阅读(1221) 评论(0) 推荐(7) 编辑
摘要: 【进阶篇】使用 Redis 实现分布式缓存的全过程思考(一) 在笔者近 3 年的 Java 一线开发经历中,尤其是一些移动端、用户量大的互联网项目,经常会使用到 Redis 分布式缓存作为解决高并发的基本工具。但在使用过程中也有一些潜在的问题是必须要考虑的,比如:数据一致性、缓存穿透和雪崩、高可用集群等等。 阅读全文
posted @ 2024-02-27 14:11 CodeBlogMan 阅读(1558) 评论(0) 推荐(3) 编辑
摘要: 【解决方案】Java 互联网项目如何防止集合堆内存溢出(一) OOM 几乎是笔者工作中遇到的线上 bug 中最常见的,一旦平时正常的页面在线上出现页面崩溃或者服务无法调用,查看服务器日志后你很可能会看到“Caused by: java.lang.OutOfMlemoryError: Java heap space” 这样的提示,那么毫无疑问表示的是 Java 堆内存溢出了。 阅读全文
posted @ 2024-02-20 14:30 CodeBlogMan 阅读(743) 评论(2) 推荐(3) 编辑
摘要: 【进阶篇】Java 实际开发中积累的几个小技巧(一) 笔者目前从事一线 Java 开发今年是第 3 个年头了,从 0-1 的 SaaS、PaaS 的项目做过,多租户下定制化开发项目也做过,项目的 PM 也做过... 在实际的开发中积累了一些技巧和经验,包括线上 bug 处理、日常业务开发、团队开发规范等等。现在在这里分享出来,作为成长的记录和知识的更新,希望与大家共勉。 阅读全文
posted @ 2024-02-04 15:19 CodeBlogMan 阅读(2692) 评论(18) 推荐(14) 编辑
摘要: 【深度思考】一线开发大头兵对于工作的感悟分享 笔者目前有两段工作经历,都是在一线当开发大头兵,职级倒是随着跳槽而有所上升。做过从0-1的SaaS、PaaS的自研项目,也做过基于多租户的标准化项目,还有过半年的 PM 的经历...这些都让我有了一些关于工作上的感悟。现在简单总结一下,拿出来和大家做分享交流。 阅读全文
posted @ 2024-01-29 09:37 CodeBlogMan 阅读(13846) 评论(75) 推荐(128) 编辑
摘要: 【解决方案】如何使用 Http API 代替 OpenFeign 进行远程服务调用 看到标题大家可能会有点疑惑吧:OpenFeign 不是挺好用的吗?尤其是微服务之间的远程调用,平时用的也挺习惯的,为啥要替换呢? 阅读全文
posted @ 2024-01-22 14:16 CodeBlogMan 阅读(1234) 评论(10) 推荐(3) 编辑