后端

代码坏味道:不合理命名与重复代码

一. 命名 1.1 命名是否具有业务含义 (1) 命名不精准,用词宽泛,不能有效反应代码含义 从沟通的角度看,这就不是一个有效的沟通。要想理解它,需要消耗大量的认知成本,时间和精力,同样也增加了后来人包括我们自己维护代码的成本。 其中,Info、data、flag、process、handler、build、maintain、manager、modify等,都是属于典型的过于宽泛的名字,当这些名字

CMS G1 ZGC三大垃圾收集器大比拼

今天这篇文章来介绍一下三大核心的垃圾收集器CMS G1 ZGC,并对它们的特点作简要分析。 1.CMS 首先来看看JDK1.8及之前的核心垃圾收集器CMS,它一般与ParNew搭配使用。 CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。它非常符合在注重用户体验的应用上使用,它是HotSpot虚拟机第一款真正意义上的并发收集器,它第一次实现了让垃

Gitee+Jenkins+SonarQube代码上线的实战操作

代码上线-流程图 image.png 添加Nexus流程图 image.png 机器的环境 172.168.0.1 jenkins # 建议-机器环境:1C以上,2G以上,40G磁盘以上 172.168.0.2 SonarQube # 建议-机器环境:2C以上,4G以上,40G磁盘以上 172.168.0.3 nexus(可选) #

最后一次通知

        这几天组织的专题名字的投票,意见一直不是很统一,为此我还专门咨询了一些人,所以我想从受欢迎最多的两个名字中选择一个,分别是一群小可爱(受欢迎程度占85%)和揽月少年(受欢迎程度占15%)中选一个,二选一,大家可以在评论区讨论一下。         本来昨天就准备创建专题了,不过评论区人太少,大家又忙,所以意见很分散,一直到现在,其实为了做这件事,我也有一些压力。         想

MySQL复合查询全解析:从基础到多表关联与高级技巧

前言:本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句创建表的语句:DROP database IF EXISTS `scott`; CREATE database IF NOT EXISTS `scott` DEFAULT CHARACTER SET utf8 COLLATE utf8_gene

Redis数据结构与对象

1.简单动态字符串 每个sds.h/sdshdr结构表示一个SDS值,Redis是C语言写的。 image.png 与C字符串的区别: 常数复杂度获取字符串长度 杜绝缓冲区溢出 C字符串不记录长度,如果两个C字符串前后紧挨在一起,这时候扩展前字符串时,后字符串就会被覆盖。 减少修改字符串时内存重分配的次数 结构体的free,就是处理分配的空间大小,如果你要扩展的话,可以探索是否

SQL之参数类型讲解

目录1. bit 2. float(小数类型)3. decimal(小数类型)4. char(字符串类型)5. varchar(字符串类型)6. 日期和时间类型7. enum和set1. bit  bit [(M)] : 位字段类型。 M 表示每个值的位数&#

504 Gateway Timeout:网关超时完美解决方法

🚀 504 Gateway Timeout:网关超时完美解决方法 💡 **🚀 504 Gateway Timeout:网关超时完美解决方法 💡** 摘要 📝 引言 🌐 为什么会出现 504 错误?🧐 正文 🔍

Lottie动画文件压缩

前言 项目中引入了“大量的”lottile动画文件以优化动画显示效果,稍微统计了下,共20多个,小的几十k,大的1.33M,总大小超过8M,apk包体积急速膨胀。 使用的lottie文件统计.png 解决方案 由于项目中显示动画的需要,引入了大量的Lottie动图,以优化显示效果导致包体积急速膨胀,目前可以想到的解决方案主要有如下2种: 方案1)远端方案 将lottie json文件放