自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

伍六七

热爱技术,分享技术

  • 博客(10)
  • 资源 (5)
  • 收藏
  • 关注

原创 推荐一个适用于SpringBoot项目的轻量级HTTP客户端框架,快来试试它!

在SpringBoot项目直接使用okhttp、httpClient或者RestTemplate发起HTTP请求,既繁琐又不方便统一管理。因此,在这里推荐一个适用于SpringBoot项目的轻量级HTTP客户端框架retrofit-spring-boot-starter,使用非常简单方便,同时又提供诸多功能增强。目前项目已经更新至2.2.2版本,并且会持续进行迭代优化。项目地址:https://github.com/LianjiaTech/retrofit-spring-boot-starter前言

2020-11-24 10:52:48 1569 2

原创 一文读懂Redis常见对象类型的底层数据结构

Redis是一个基于内存中的数据结构存储系统,可以用作数据库、缓存和消息中间件。Redis支持五种常见对象类型:字符串(String)、哈希(Hash)、列表(List)、集合(Set)以及有序集合(Zset),我们在日常工作中也会经常使用它们。知其然,更要知其所以然,本文将会带你读懂这五种常见对象类型的底层数据结构。本文主要内容参考自《Redis设计与实现》对象类型和编码Redis使用对象来存储键和值的,在Redis中,每个对象都由redisObject结构表示。redisObject结构主要

2020-10-19 08:55:05 476

原创 必须了解的mysql三大日志-binlog、redo log和undo log

日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志(binlog)和事务日志(包括redo log和undo log),本文接下来会详细介绍这三种日志。binlogbinlog用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog是mysql的逻辑日志,并且由Server层进行记录,使用任何存储引擎的mysql数据库都会记录

2020-08-17 13:03:02 1363

原创 面试中的老大难-mysql事务和锁,一次性讲清楚!

众所周知,事务和锁是mysql中非常重要功能,同时也是面试的重点和难点。本文会详细介绍事务和锁的相关概念及其实现原理,相信大家看完之后,一定会对事务和锁有更加深入的理解。本文主要内容是根据掘金小册《从根儿上理解 MySQL》整理而来。如想详细了解,建议购买掘金小册阅读。什么是事务在维基百科中,对事务的定义是:事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务的四大特性事务包含四大特性,即原子性(Atomicity)、一致性(Consistency)

2020-08-13 08:15:04 462

原创 你真的理解索引吗?从数据结构层面解析mysql索引原理

从《mysql存储引擎InnoDB详解,从底层看清InnoDB数据结构》中,我们已经知道了数据页内各个记录是按主键正序排列并组成了一个单向链表的,并且各个数据页之间形成了双向链表。在数据页内,通过页目录,根据主键可以快速定位到一条记录。这一章中,我们深入理解一下mysql索引实现。本文主要内容是根据掘金小册《从根儿上理解 MySQL》整理而来。如想详细了解,建议购买掘金小册阅读。索引数据结构先回顾一下上一章节中数据页基本结构:从上图可以推断出,查询某条记录关键步骤只有2个:定位到数据页

2020-08-10 07:38:10 389

原创 mysql存储引擎InnoDB详解,从底层看清InnoDB数据结构

InnoDB一个支持事务安全的存储引擎,同时也是mysql的默认存储引擎。本文主要从数据结构的角度,详细介绍InnoDB行记录格式和数据页的实现原理,从底层看清InnoDB存储引擎。本文主要内容是根据掘金小册《从根儿上理解 MySQL》整理而来。如想详细了解,建议购买掘金小册阅读。InnoDB简介大家都知道mysql中数据是存储在物理磁盘上的,而真正的数据处理又是在内存中执行的。由于磁盘的读写速度非常慢,如果每次操作都对磁盘进行频繁读写的话,那么性能一定非常差。为了上述问题,InnoDB将数据划

2020-08-06 07:55:32 813

原创 Spring Validation最佳实践及其实现原理,参数校验没那么简单!

之前也写过一篇关于Spring Validation使用的文章,不过自我感觉还是浮于表面,本次打算彻底搞懂Spring Validation。本文会详细介绍Spring Validation各种场景下的最佳实践及其实现原理,死磕到底!项目源码:spring-validation简单使用Java API规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernate validation是对这个规范的实现,并增加了校验注解如@Email、@Length等。S

2020-08-03 08:04:33 2693 1

原创 mysql进阶知识点,启动项、系统变量、字符集介绍!

mysql数据库是当前应用最为的广泛的数据库,在实际工作中也经常接触到。真正用好mysql也不仅仅是会写sql就行,更重要的是真正理解其内部的工作原理。本文先从宏观角度介绍一些mysql相关的知识点,目的是为了让大家对mysql能有一个大体上的认知,后续再逐一对每个知识点的进行深入解读。本文主要内容是根据掘金小册《从根儿上理解 MySQL》整理而来。如想详细了解,建议购买掘金小册阅读。通信方式mysql采用了典型的客户端/服务器架构(C/S架构)模式。对于计算机而言,数据库客户端程序和服务器程序分

2020-08-01 13:08:45 916

原创 分库分表【Sharding-JDBC】入门与项目实战,数据量大了一定要分表

最近项目中不少表的数据量越来越大,并且导致了一些数据库的性能问题。因此想借助一些分库分表的中间件,实现自动化分库分表实现。调研下来,发现Sharding-JDBC目前成熟度最高并且应用最广的Java分库分表的客户端组件。本文主要介绍一些Sharding-JDBC核心概念以及生产环境下的实战指南,旨在帮助组内成员快速了解Sharding-JDBC并且能够快速将其使用起来。Sharding-JDBC官方文档核心概念在使用Sharding-JDBC之前,一定是先理解清楚下面几个核心概念。逻辑表水平拆分的数

2020-07-31 08:42:51 433

原创 还在为参数校验发愁?spring-validation最佳实践指南

最近线上接口受到白帽子攻击,由于后端接口没有严格地进行参数校验,从而导致了系统程序异常和线上脏数据的问题。为了项目中参数校验方式的统一,因此在项目中引入了spring-validation作为后端接口参数校验方式。本文主要介绍了spring-validation在项目中最佳实践方案,希望能帮助大家很快很好的使用spring-validation。实体命名方式推荐在Spring项目组中,会存在有很多实体类,良好的命名方式能十分有效的理清项目的整体划分。下面分别介绍entity、DTO、VO实体类命名方式推

2020-07-29 21:45:46 402

MyBatis从入门到精通源码

MyBatis从入门到精通源码,书本源码。。。。。。。。。。。

2017-11-16

Spring Data JPA中文文档[1.4.3]

Spring Data JPA中文文档[1.4.3],带有书签目录。。。

2017-10-18

jQuery EasyUI 1.5.2 版 API 中文版

jQuery EasyUI 1.5.2 版 API 中文版,非常实用。

2017-10-17

W3School离线手册(2017.03.11版).chm

3School离线手册(2017.03.11版),内容全面。用起来也很稳定。

2017-10-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除