有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准 https://blog.zysicyj.top
Spring Framework 是一个广泛使用的开源应用程序框架,用于构建企业级 Java 应用程序。它提供了许多不同的模块,用于支持各种不同的应用程序开发需求。以下是 SpringFramework 的一些核心模块:
Spring Core Container: 这是 Spring 框架的核心模块,提供了 IoC(控制反转)和 DI(依赖注入)功能。它包括以下子模块:
Beans: 提供了 BeanFactory 和 ApplicationContext 等核心容器的实现,用于管理应用程序中的对象(Bean)。
Core: 提供了核心功能,如依赖注入、Bean 的生命周期管理等。
Spring AOP: 提供了面向切面编程(AOP)的支持,用于在应用程序中实现横切关注点,如日志记录、事务管理等。
Spring Data Access/Integration: 提供了与数据库和其他数据源集成的支持,包括 JDBC、ORM(对象关系 ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
系列文章地址
引自《阿里规约》的开头片段:
现代软件架构的复杂性需要协同开发完成,如何高效地协同呢?无规矩不成方圆,无规范难以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果没有限速,没有红绿灯,谁还敢上路行驶。对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,降低沟通成本。代码的字里行间流淌的是软件系统的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升系统稳定性,码出质量。
(一)命名规范 1.1.1 项目命名 全部采用小写方式,以中划线分隔。
正例:mall-management-system
反例:mall_management-system / mallManagementSystem
1.1.2 目录命名 全部采用小写方式,以中划线分隔,有复数结构时,要采用复数命名法,缩写不用复数。
正例:scripts / styles ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
系列文章地址
规范
切忌一次大量提交代码,每次 fix 或 feat 一个功能即需要提交到本地,可以不提交到远程
提交代码前必须先拉代码
一般情况下 不得强制提交
一个新功能拉取单独的分支开发,开发完后再合并到主分支上
禁止无意义说明提交
通常需要每天下班前推送本地仓库到远程仓库中
一、背景 每次提交代码到 Git 仓库时,都需要写 commit message。通常情况下,commit message 应该清晰明了,说明本次提交的目的和具体操作等。然而,在日常开发中,开发者们提交的 commitmessage 千差万别,中英文混用,导致后续代码维护成本很高,有时候甚至自己都不知道修复的是什么问题。因此,为了解决这些问题,我们希望通过一种方式来监控用户的 gitcommit message,以提高代码规范,提高开发效率。
二、约定 我们要求所有项目的 Commit Log 都遵循一个精确的格式,以增加可读性,便于查看变更历史,并养成良好的 git ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
系列文章地址
如果 Redis 内存很大怎么办?假设一台 32G 内存的服务器部署了一个 Redis,内存占用了 25G,会发生什么?
此时最明显的表现是 Redis 的响应变慢,甚至非常慢。
这是因为 RDB 快照是通过 fork 子线程来实现的,fork 操作时间和 Redis 数据量成正相关,而 fork 时会阻塞主线程。
随着数据量的增加,fork 耗时也会增加。所以,当对 25G 的文件进行 fork 时,Redis 的响应就会变慢。
针对这种大数据量的存储,有什么其他的方案呢?
什么是切片集群?Redis 分片集群是一种将 Redis 数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性。在分片集群中,数据被分为多个片段,每个片段存储在不同的节点上,这些节点可以是物理服务器或虚拟服务器。
Redis 分片集群的主要目的是将数据分布在多个节点上,以便可以通过并行处理来提高读写吞吐量。每个节点负责处理一部分数据,并且在需要时可以进行扩展以适应更 ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
s://blog.zysicyj.top/
安装插件 这个是三方优化版,如果不喜欢可以去下载官方的
插件官网地址https://plugins.jetbrains.com/plugin/22381-alibaba-java-coding-guidelines-fix-some-bug-
手动启动插件 插件默认是开启自动实时扫描的,如果感觉太卡,可以关掉实时扫描
查看问题清单
快速修复
git 配置插件检测 保证必须通过代码扫描的代码才能提交
if (typeof lightGallery !== 'undefined') {
var options = {selector: '.gallery-item'};
lightGallery(document.getElementsByClassName('.article-gallery')[0], options);
}
...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
前言 提到 Java 开发规范,那么大家能想到的基本就是 阿里巴巴 Java 开发手册,这个手册的内容很丰富,但是呢篇幅太长,很多人都记不住,那么怎么办呢?好在阿里巴巴提供了代码扫描插件,方便我们开发时发现问题并及时修改。
如何使用该插件?参考这篇文章:【插件】Java 开发规范配套 Idea 阿里巴巴代码扫描
手册内容 项目统一规约
工具类统一使用 Hutool,非必要不要自定义工具类
controller 返回的每个实体需要新建一个 Vo 封装
controller 接受的参数统一使用 Param 封装
Do 类不允许添加额外字段
业务之间传输使用 Dto 类封装
跨模块,接口调用不允许直接传 DO,需要封装成 Dto
单机事务必须加上 @Transactional 注解
分布式事务必须加上 @Seata 注解
统一使用 Mybatis 语法,不要使用 JPA
ID 统一使用 Leaf 雪花算法获取
参数传递使用 POJO 传递,尽量不要使用 Ma ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准https://blog.zysicyj.top
#(# 前言) 前言
Hexo 博客建议安装 hexo-readmore (opens new window)插件,将 TechGrow (opens new window) 的免费微信公众号引流工具整合到博客中,用户扫码关注微信公众号后可以解锁全站文章,让微信公众号的粉丝数躺着增长。
#(# 特色功能) 特色功能
兼容主流的 Hexo 主题
支持随机为博客添加引流功能
支持关闭某篇文章的引流功能
支持查询用户解锁文章的历史记录
支持自定义或者动态计算文章内容的预览高度
支持自定义 CSS 样式,轻松适配不同风格的博客
支持开放 API,灵活接入第三方私有化部署的应用服务
#(# 注册博客) 注册博客
浏览器访问 TechGrow (opens new window) 的官网 ,注册并登录账号后,进入博客的后台管理页面。首先点击左侧的菜单 博客注册 ,然后点击 新增 按钮,添加自己博客的信息。博客注册成功后,记录下 博客 ID,后面的步骤会使 ...
我们刚刚发布了 v2023.2 的第一个错误修复更新。
您可以从 IDE 内部、使用 工具箱应用程序 或通过快照(如果您使用的是 Ubuntu)更新到此版本。您也可以 直接从我们的网站下载。
以下是最新版本中包含的最值得注意的改进和修复的列表:
我们已经解决了主工具栏仅出现在第一个打开的项目上的问题,无论是在 WSL 上还是在 Linux上使用平铺窗口管理器时,都通过恢复到本机标头。[IDEA-323700]
现在可以在启用_“与操作系统同步_”选项的情况下从 Windows 同步设置后,在 Linux上选择一个主题。[IDEA-283945]
“服务”工具窗口中的控制台不再意外地从其他工具窗口拉取焦点。[IDEA-219699]
当 Linux 本机标头关闭时,IDE不再意外地在辅助监视器上进入全屏模式。 [IDEA-326021]
现在,将所选文本拖放到装订线将文本按预期移动到所选行,而不是复制它。[IDEA-324204]
当本机 Linux标头关闭时,可以再次在辅助显示器上退出全屏模式。 [IDEA-323706]
修复了在关闭本机标头的 Linux上使用辅助显示 ...
Redis 有哪些数据结构?其底层是怎么实现的?Redis 系列(一):深入了解 Redis 数据类型和底层数据结构
字符串(String): 用于存储文本或二进制数据。可以执行字符串的基本操作,如设置、获取、增加、减少等。
哈希表(Hash): 存储键值对集合,类似于关联数组。适用于存储对象属性或配置信息。
列表(List): 使用双向链表实现的有序集合,允许插入和删除元素。可以用于实现队列、栈等数据结构。
集合(Set): 存储不重复的无序元素集合。支持求交集、并集、差集等操作,适用于数据去重和关联性操作。
有序集合(Sorted Set): 类似于集合,但每个元素都有一个分数(score),并根据分数进行排序。适用于排行榜、优先级队列等场景。
位图(Bitmap): 使用字符串来表示位的数据结构,支持位操作。适用于标记、计数等场景。
HyperLogLog: 用于估计集合中唯一元素的个数,占用固定的内存空间,适用于基数统计场景。
地理空间(GeoSpatial): 存储地理位置信息,支持距离计算和位置查询。
什么是缓存击穿?什么原因?如何解决?缓存击穿是指 ...
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准 https://blog.zysicyj.top
视频教学地址
打开 butterfly 配置文件,在 menu 处新增一行 123456789101112menu: 主页: / || fas fa-home 时间轴: /archives/ || fas fa-archive 标签: /tags/ || fas fa-tags 分类: /categories/ || fas fa-folder-open# 清单 ||fas fa-list:# 音乐: /music/ || fas fa-music# 电影: /movies/ || fas fa-video 相册: /gallery/ || fas fa-solid fa-image 友链: /link/ || fas fa-link 活动日历: /about/ || fas fa-calendar Love: /love/static/index.html || fas fa-heart
在 s ...