QLExpress规则引擎实战(一)自定义加减乘除的应用 在前面我们做过了很多关于QLExpress的规则引擎的介绍。正好最近正在使用规则引擎,所以这里我们来讲一些案例。本案例主要是使用规则引擎做一些基本的加减乘除运算。QLExpress其实本身是支持基础的加减乘除运算的,... 帅平java2024-11-01481 阅读0 评论
做数据库分表之后,百亿级数据如何进行分页查询? 当业务规模达到一定规模之后,数据库面对海量的数据压力,根据传统的优化经验,我们主要的优化方案会有如下几点:1、创建适当的索引通过创建适当的索引,可以加速查询操作。索引可以提高查询语句的执行效率,尤其是对于常用的查询条... Raejava2024-09-20609 阅读0 评论
详解Druid连接池获取连接的底层原理 当上层框架(Hibernate、Mybatis)在调用DataSource的getConnection()方法获取数据库连接时,如果DataSource的具体实现是DruidDataSource,那么工作原理如下。首... 帅平java2024-07-27473 阅读0 评论
实战获取IP归属地的案例 目前国内各大应用几乎都有显示用户的ip归属地,包括本站也会有显示相关的ip归属地,如下图:那么这个获取归属地怎么弄呢?其实方法很简单,我们可以直接借助开源的ip归属地来使用即可。这里我们借助的工具是:http://w... Raejava2024-04-10451 阅读0 评论
后端编码规范系列(二十)sql上线脚本规范 每一次项目上线都可能会涉及到sql上线的步骤。但是在上线的时候执行sql也是最容易出现问题的。特别是上线的时候sql出现问题,可能会导致非常重大的灾难性事故。因此对于sq相关的规范我们的要求如下:1、每一个版本对应的... Raejava2024-04-10402 阅读0 评论
后端编码规范系列(十九)join查询的 本文我们继续补充编码规范。本文主要介绍的是join查询。在使用join查询的时候,我们大家都应该了解到使用小表做驱动表,大表做被驱动表。如果问的话,大家其实可能会简单的回答小表可以放在内存里面。但是这个答案对于我来说... Raejava2024-04-10409 阅读0 评论
【分享】Java的CPU 飙升700%优化的真实案例 最近负责的一个项目上线,运行一段时间后发现对应的进程竟然占用了700%的CPU,导致公司的物理服务器都不堪重负,频繁宕机。那么,针对这类java进程CPU飙升的问题,我们一般要怎么去定位解决呢?、采用top命令定位进... Raejava2024-03-26569 阅读0 评论
使用全局唯一id生成用户id的解决方案 在面对ToC场景的时候,由于用户基数大,所以对于我们来说,在系统设计阶段会有专门针对用户id的相关设计。此时我们可能会考虑的场景如下:1、系统是否需要做大还是仅满足小众场景2、用户的并发是否高3、系统中业务对应是... Raejava2024-03-14490 阅读0 评论
后端编码规范系列(十八)代码格式规范化,避免团队代码风格混乱 在日常开发过程中,大家使用的开发IDE工具可能都不一样,有的人使用eclipse,有的人使用idea,同时由于编写代码风格不一致,所以当出现codeview的时候我们经常会重新格式化代码风格。如果在重新格式化代码风格... Raejava2024-03-13592 阅读0 评论
后端编码规范系列(十七)Redis 使用规范 这里我们想到哪介绍到哪,主要是用于总结的,对于团队内部来说,根据实际的情况来整理规范即可。这里 Redis 使用规范的话,因为内容不多,我们直接写一个合集集合,下面开始:1)key命名规范对于 redis 的 key... Raejava2024-03-07557 阅读0 评论
后端编码规范系列(十六)jar 包启动配置规范 上文我们介绍 sql 打印的时候提到是由于之前线上发生了 oom 相关的异常。所以对于线上的 jvm 启动的时候,我们是强制要求配置相关jvm 启动参数的。核心参数有:-Xms8g-Xmx8g-Xss1m... Raejava2024-03-07582 阅读0 评论
后端编码规范系列(十五)开发环境/测试环境强制打印 sql 这里的要求也是我们在项目团队开发过程中逐步完善的,这是为什么呢?这主要是来源于一次线上出现的问题,也就是有一条 sql 使用 in 查询的时候传值太多了,导致当时一条 sql 有好几十 M,然后就发生了内存OOM 的... Raejava2024-03-07567 阅读0 评论
后端编码规范系列(十四)MQ幂等规范 在日常的开发过程中我们还经常会涉及到使用 MQ 作为消息中间件的形式来进行异步任务。对于 mq 来说,不管是哪种 mq 都可能会涉及到 消息重复接收的场景。所以我们在使用消费者的时候,一定要注意消息接收重复的场景。备... Raejava2024-03-07484 阅读0 评论
后端编码规范系列(十三)参数校验之 length 校验 在前面的参数校验相关的文章中介绍过使用注解的方式进行参数校验,在这里再补充一个很重要的部分就是数据字段length 校验。在开发的时候,我们经常会涉及到吧文本存储到数据库的表中,每一个表对应的都有字段长度的限制,例如... Raejava2024-03-07442 阅读0 评论
后端编码规范系列(十二) 日志记录打印 上文《后端编码规范系列(十) 链路日志打印》我们提到了全链路日志打印。日志在我们日常开发过程中是离不开的。所以我们在开发中需要定义如何去打日志。在我们的规范中,我们对于日志打印的输出位置有如下要求:1、所有的web&... Raejava2024-03-06385 阅读0 评论