自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 Redis数据结构底层实现---简单动态字符串

简介 在Redis中STRING类型数据结构使用了简单动态字符串(simpple dynamic string, SDS)去实现。Redis没有直接使用C语言中的字符串,而是采用SDS去保存字符串的值,主要原因有一下几点。 C语言中获取一个字符串长度时间复杂度为O(n),而在SDS中这一操作时间复杂度仅为O(1) 在C语言中容易出现缓冲区溢出的问题,由于没有记录字符串长度,在合并两个字符串时可能出现空间不足而使得合并后字符串的内容被覆盖 SDS将连续增⻓N次字符串所需的内存????分配次数从必定 N次降低

2021-01-31 21:30:36 106 1

原创 Redis概述

概述 Redis是一个使用C语言编写的非关系型数据库(NoSQL), 它是一个key-value的存储系统,由于数据都缓存在内存中,因此效率十分高效,并且可以将存储在内存中的键值对数据持久化到磁盘中。 Redis数据结构 Redis可以存储键(key)与五种不同数据结构类型之间的映射关系。这五种数据结构类型分别为STRING、LIST、SET、HASH和ZSET。 结构类型 结构存储的值 STRING 字符串、整数或者浮点数 LIST 一个链表,链表上的每个节点都包含了一个字符串 S

2021-01-30 21:58:59 90

原创 ArrayList关键方法源码分析

概述 ArrayList是一个动态数组,数组大小可变,它实现了List接口,并且实现了List中所有对元素操作的方法。ArrayList删除元素时间复杂度为O(n),其他方法如isEmpty、get、size size时间复杂度都为O(1)。ArrayList底层实现是数组,每一个ArrayList实例都有一个capacity属性,这个属性表示ArrayList中存储元素的数量。在新增大量元素前,ArrayList会进行扩容操作,这样避免了大量的重新分配内存的操作。当添加一个元素后,ArrayList的容量

2021-01-23 23:48:44 90

原创 String类核心讲解

String类核心讲解 在Java中,String对象是不可变的,一旦String对象被创建,其值就不能被修改。String类提供了一些对字符串操作的方法,如比较字符串、查找字符串、提取子串等方法。 主要方法 返回值类型 方法 描述 char charAt(int index) 返回指定索引的单个字符 String concat(String str) 在原字符串的末尾连接指定...

2020-04-09 22:44:05 217

空空如也

空空如也

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

TA关注的人

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