自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis 简介

Redis是一种基于键值对(key-value)的NoSQL数据库,与很多键值对数据库不同的是,Redis中的值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成,因此Redis可以满足很多的应用场景,而且因为Redis会将所有数据都存放在内存中,所...

2018-10-25 14:38:04 183

原创 基本数据结构

链表相邻元素之间通过指针连接。 最后一个元素的后继指针值为NULL。 长度可变 可动态分配内存双向链表数组一段连续的内存区 随机访问效率高 长度不可变动态数组可随机存取且可自动调整大小的线性数据结构。栈栈是一个有序线性表,只能在栈的一端执行插入和删除操作。栈的规则是先进后出(FILO)。队列队列是一种只能在一端插入(队尾),在另一端删除(队首)的有序线...

2018-10-23 00:00:09 134

原创 查找算法

在计算机科学中,查找就是从一个项目的集合中寻找某个具有特定属性的项目的过程。为什么需要查找查找是计算机科学中的一个核心算法。查找的类型无序线性查找 有序线性查找 二分查找 符号表和散列 字符串查找算法查找算法无序线性查找基本思想:全表扫描有序查找基本思想:全表扫描二分查找基本思想:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字...

2018-10-22 00:34:52 226

原创 排序算法

什么是排序排序是按照某种顺序排列元素的一种算法。为什么需要排序排序是计算机科学中的重要算法,排序有时可以显著降低问题的复杂度,可以使用排序作为减少查找复杂度的一种技术。排序的分类排序算法通常基于以下参数分类。比较的次数 交换的次数 内存使用 递归 稳定性 适应性内部排序:在排序时仅使用主存储器的排序算法称为内部排序。外部排序:在排序时需要使用磁带或磁盘等外部...

2018-10-22 00:33:36 436

原创 算法和算法复杂度

算法是什么?算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法的特...

2018-10-22 00:23:59 533

原创 Java Class类文件结构

平台无关性Java是与平台无关的语言,这得益于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现。不仅使用Java编译器可以把Java代码编译成存储字节码的Class文件,使用JRuby等其他语言的编译器也可以把程序代码编译成Class文件,虚拟机并不关心Class的来源是什么语言,只要它符合一定的结构,就可以在Java中运行。Java语言中的各种变量、关键...

2018-10-18 14:40:24 139

原创 Java 虚拟机类加载机制

1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载器并不需要等到某个类被“首次主动使...

2018-10-17 22:00:46 104

原创 MySQL 执行计划 的type列 & Extra列

explain 可以分析 select 语句的执行,即 MySQL 的“执行计划。一、type 列MySQL 在表里找到所需行的方式。包括(由左至右,由最差到最好):| All | index | range | ref | eq_ref | const,system | null |ALL(所有)全表扫描,MySQL 从头到尾扫描整张表查找行。mysql> explain...

2018-10-13 21:25:26 771

原创 InnoDB关键特性

插入缓存1.Insert Bufferinnodb使用insert buffer"欺骗"数据库:对于为非唯一索引,辅助索引的修改操作并非实时更新索引的叶子页,而是把若干对同一页面的更新缓存起来做合并为一次性更新操作,转化随机IO 为顺序IO,这样可以避免随机IO带来性能损耗,提高数据库的写性能。IBUF_POOL_SIZE_PER_MAX_SIZE参数修改默认为2 即为最大缓存为1/2...

2018-10-13 21:16:37 499

原创 Mysql的四种隔离级别

Read Uncommitted(读取未提交内容)在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。Read Committed(读取提交内容)这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所...

2018-10-13 21:13:28 78

原创 InnoDB存储引擎索引概述

InnoDB 存储引擎索引有(1)B+ 树索引(2)全文索引(3)哈希索引B+树B+树和二叉树、平衡二叉树一样,都是经典的数据结构。B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也是MyISAM引擎最初参考的数据结构)演化而来,但是在实际使用过程中几乎已经没有使用B树的情况了。B+树的定义十分复杂,因此只简要地介绍B+树:B+树是为磁盘或其他直接存取辅助设备而设计...

2018-10-13 21:01:03 784 1

原创 InnoDB 表

索引组织表在InnoDB 存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表。在InnoDB存储引擎表中,每张表都有个主键(Primary key),如果在创建表时 没有显示地定义主键,则InnoDB存储引擎会按如下方式选择或创建主键:1)首先判断表是否有非空的唯一索引(Unique not null),如果有,则该列即为主键。2)如果不符合上述条件,InnoDB...

2018-10-13 20:58:28 867

原创 MySQL Order By 使用方法

在MySQL中的Order By 有2种排序实现方式利用有序索引获取有序数据 文件排序索引排序取出满足过滤条件、作为排序条件的字段,以及可以直接定位到行数据的行指针信息,在 Sort Buffer 中进行实际的排序操作,然后利用排好序的数据根据行指针信息返回表中取得客户端请求的其他字段的数据,再返回给客户端。这种方式,在使用explain分析查询的时候,显示Using index。...

2018-10-09 21:25:02 33195

原创 Java 8 Optional 对象

如何为缺失的值建模假设需要处理下面的这样的一个对象,这是一个拥有汽车汽车保险的客户。客户类public class Person { private Car car; public Car getCar(){ return car; }}汽车类public class Car { private Insuranc...

2018-10-08 21:12:00 2011 1

空空如也

空空如也

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

TA关注的人

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