最近个人的开源项目retrofit-spring-boot-starter突破一百star了,我非常地开心。也许对于各位技术大佬来说,一百star完全微不足道,但对于还是“铁憨憨”的我来说,真的很不容易。乘着现在印象比较深刻,详细总结一下整个过程。
必须了解的mysql三大日志-binlog、redo log和undo log
日志是mysql
数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql
日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志(binlog
)和事务日志(包括redo log
和undo log
),本文接下来会详细介绍这三种日志。
Spring Validation最佳实践及其实现原理,参数校验没那么简单!
之前也写过一篇关于Spring Validation
使用的文章,不过自我感觉还是浮于表面,本次打算彻底搞懂Spring Validation
。本文会详细介绍Spring Validation
各种场景下的最佳实践及其实现原理,死磕到底!
项目源码:spring-validation
面试中的老大难-mysql事务和锁,一次性讲清楚!
众所周知,事务和锁
是mysql中非常重要功能,同时也是面试的重点和难点。本文会详细介绍事务和锁
的相关概念及其实现原理,相信大家看完之后,一定会对事务和锁
有更加深入的理解。
手把手教你基于Retrofit实现自己的轻量级http调用工具
在《spring-boot项目整合Retrofit最佳实践,最优雅的HTTP客户端工具!》这篇文章中,我们知道了retrofit-spring-boot-starter
的使用方式。本篇文章继续继续介绍retrofit-spring-boot-starter
的实现原理,从零开始介绍如何在spring-boot项目中基于Retrofit实现自己的轻量级http调用工具。
spring-boot项目整合Retrofit最佳实践,最优雅的HTTP客户端工具!
大家都知道okhttp
是一款由square公司开源的java
版本http
客户端工具。实际上,square公司还开源了基于okhttp
进一步封装的retrofit工具,用来支持通过接口
的方式发起http
请求。如果你的项目中还在直接使用RestTemplate
或者okhttp
,或者基于它们封装的HttpUtils
,那么你可以尝试使用Retrofit
。
retrofit-spring-boot-starter
实现了Retrofit
与spring-boot
框架快速整合,并且支持了部分功能增强,从而极大的简化spring-boot
项目下http
接口调用开发。接下来我们直接通过retrofit-spring-boot-starter
,来看看spring-boot
项目发送http
请求有多简单。
mysql执行计划Explain详解,再也不用怕sql优化了!
大家都知道,mysql在执行查询的时候会进行查询优化。简单来讲就是执行的时候先基于成本和规则优化生成执行计划,然后再按照执行计划执行查询。本文主要介绍EXPLAIN
各输出项的含义,从而帮助大家更好的进行sql性能优化!
你真的理解索引吗?从数据结构层面解析mysql索引原理
从《mysql存储引擎InnoDB详解,从底层看清InnoDB数据结构》中,我们已经知道了数据页内各个记录是按主键正序排列并组成了一个单向链表的,并且各个数据页之间形成了双向链表。在数据页内,通过页目录
,根据主键可以快速定位到一条记录。这一章中,我们深入理解一下mysql索引实现。
mysql存储引擎InnoDB详解,从底层看清InnoDB数据结构
InnoDB一个支持事务安全的存储引擎,同时也是mysql的默认存储引擎。本文主要从数据结构的角度,详细介绍InnoDB行记录格式和数据页的实现原理,从底层看清InnoDB存储引擎。
mysql进阶知识点,启动项、系统变量、字符集介绍!
mysql数据库是当前应用最为的广泛的数据库,在实际工作中也经常接触到。真正用好mysql也不仅仅是会写sql就行,更重要的是真正理解其内部的工作原理。本文先从宏观角度介绍一些mysql相关的知识点,目的是为了让大家对mysql能有一个大体上的认知,后续再逐一对每个知识点的进行深入解读。