摘要: 一 索引的本质 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。 最基本的查询算法 阅读全文
posted @ 2019-08-21 10:17 Vagrant。 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 一、Redis介绍 Redis是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库、缓存服务或消息服务使用。Redis支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、位图、Hyperloglogs等。Redis具备LRU淘汰、事务实现、以及不同级别的硬盘持久化等能力,并且支持副本集 阅读全文
posted @ 2019-06-21 16:08 Vagrant。 阅读(838) 评论(0) 推荐(0) 编辑
摘要: 一 Redis内存统计 在客户端通过redis-cli连接服务器后,通过info命令可以查看内存使用情况: 返回结果中比较重要的几个说明如下: (1)used_memory:Redis分配器(默认为mem_allocator)分配的内存总量(单位是字节),包括使用的虚拟内存(即swap);Redis 阅读全文
posted @ 2019-06-20 21:12 Vagrant。 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 一 Redis使用bitset(bitmap)来统计日活跃量 1 BitMap介绍 Bitmap(即Bitset),是一串连续的2进制数字(0或1),每一位所在的位置为偏移(offset),bitmap就是通过最小的单位bit来进行0或者1的设置,表示某个元素对应的值或者状态。 Redis从2.2. 阅读全文
posted @ 2019-06-20 15:18 Vagrant。 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 一 栈和队列介绍 1 栈 堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。堆是指程序运行时申请的动态内存,而栈只是指一种使用堆的方法(即先进后出)。 栈(stack)——先进后出,删除与加入均在栈顶操作 栈也称为堆栈,是一种线性表。 阅读全文
posted @ 2019-06-20 14:16 Vagrant。 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 一 java8 lambda表达式用法 1 什么是lambda表达式 Lambda表达式有两个特点:一是匿名函数,二是可传递。 匿名函数的应用场景是: 通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用Lambda表达式。lambda表达式所表示的匿名函数的内容应该是很简单的,如果复杂的 阅读全文
posted @ 2019-06-11 16:58 Vagrant。 阅读(6998) 评论(0) 推荐(1) 编辑
摘要: 一、JVM运行时区域 其中, 线程私有的:程序计数器,虚拟机栈,本地方法栈 线程共享的:堆,方法区,直接内存 1 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常 阅读全文
posted @ 2019-04-26 18:02 Vagrant。 阅读(23219) 评论(0) 推荐(2) 编辑
摘要: 一、反射的用法 1、如何获取Class反射类 (1)通过getClass方法: (2)通过Class.forName方法 (3)通过.class 2、获取类型信息 反射的一大好处就是可以允许我们在运行期间获取对象的类型信息,例如需要再运行期间获取对象方法信息,并执行该方法,可以通过以下方式: 首先创 阅读全文
posted @ 2019-04-11 18:31 Vagrant。 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 一 线程池优点 1、线程在创建和销毁时是非常耗费资源的,使用线程池可以减少创建和销毁线程的次数,每个工作线程都可以重复使用。 2、可以根据系统的承受能力,调整线程池中工作线程的数量,防止因为消耗过多内存导致服务器崩溃。 对操作系统来说,创建一个线程的代价是十分昂贵的, 需要给它分配内存、列入调度,同 阅读全文
posted @ 2019-04-11 12:24 Vagrant。 阅读(1149) 评论(0) 推荐(0) 编辑
摘要: 项目结构图如下: 在SpringBoot多模块项目打包时遇见如下错误: 1、repackage failed: Unable to find main class -> [Help 1] 解决步骤: (1)删除父pom中的build标签 (2)在web模块的pom中配置,指定启动类,其他模块中不需要 阅读全文
posted @ 2019-04-10 15:32 Vagrant。 阅读(950) 评论(0) 推荐(0) 编辑