自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (1)
  • 收藏
  • 关注

原创 剖析 LinkedHashMap

剖析 LinkedHashMap1. LinkedHashMap2. 实现原理2.1 内部组成2.2 构造方法2.3 添加元素2.4 获取元素2.5 删除键值对2.6 iterator3. 总结1. LinkedHashMapLinkedHashMap 是 HashMap 的子类,但内部还有一个双向链表维护键值对的顺序,每个键值对既位于哈希表中,也位于这个双向链表中。LinkedHashMap 支持两种顺序:一种是插入顺序,另一种是访问顺序。插入顺序:先插入的在前面,后插入的在后

2020-12-10 08:39:01 566

原创 (计算机网络十)HTTP和HTTPS的区别

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议安全。HTTPS和HTTP的区别主要如下:1、HTTPS协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。2、HTTP是超文本传输

2020-12-08 16:05:58 136

原创 (计算机网络九)OSI 七层模型

(1)物理层(以二进制数据形式在物理媒体上传输数据)在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第一层。物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异,使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。(2)数据链路.

2020-12-08 16:05:47 683

原创 (计算机网络八)TCP的滑动窗口、流量控制与拥塞控制

滑动窗口机制:滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。发送和接受方都会维护一个数据帧的序列,这个序列被称作窗口。发送方的窗口大小由接受方确定,目的在于控制发送速度,以免接受方的缓存不够大,而导致溢

2020-12-08 16:05:24 712

原创 (计算机网络七)为什么说 TCP 是可靠的服务?

TCP 中以下四个方法保证了数据传输的可靠性:[1] 确认和重传机制建立连接时三次握手同步双方的“序列号 + 确认号 + 窗口大小信息”,是确认重传、流量控制的基础。传输过程中,如果Checksum校验失败、丢包或延时,发送端重传。[2] 数据排序TCP 有专门的序列号SN字段,可提供数据re-order[3] 流量控制滑动窗口和计时器的使用。TCP窗口中会指明双方能够发送接收的最大数据量,发送方通过维持一个发送滑动窗口来确保不会发生由于发送方报文发送太快接收方无法及时处理的问题。[4] 拥塞

2020-12-08 16:05:07 363

原创 (计算机网络六)TCP 和 UDP 的区别

1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付3、TCP 面向字节流,实际上是 TCP 把数据看成一连串无结构的字节流;UDP 是面向报文的,应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。UDP 没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等

2020-12-08 16:04:57 124

原创 (计算机网络五)get 和 post区别

GET:从指定的资源请求数据。POST:向指定的资源提交要被处理的数据。由于HTTP的规定和浏览器/服务器的限制,导致它们在应用过程中体现出一些不同。GETPOST后退按钮/刷新无害数据会被重新提交(浏览器应该告知用户数据会被重新提交)缓存能被缓存不能缓存编码方式只能进行url编码支持多种编码方式是否保留在浏览历史参数保留在浏览器历史中参数不会保存在浏览器历史中。对数据长度的限制发送数据,GET 方法向 URL 添加数据,但URL的长度是

2020-12-08 16:04:46 422 1

原创 (计算机网络四)HTTP REST

REST(Representational State Transfer)是一种轻量级的Web Service架构,可以完全通过HTTP协议实现。其实现和操作比SOAP和XML-RPC更为简洁,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。REST架构对资源的操作包括获取、创建、修改和删除,对应于HTTP协议提供的GET、POST、PUT和DELETE方法。REST提供了一组架构约束,当作为一个整体来应用时,强调组件交互的可伸缩性、接口的通用性、组件的独立部署、以及用来减少

2020-12-08 16:04:36 458

原创 (计算机网络三)TCP 三次握手 四次挥手相关面试题

序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字节的编号;因此当前报文段最后一个字节的编号+1即为确认号。确认ACK:占1位,仅当ACK=1时,确认号字段才有效。ACK=0时,确

2020-12-08 16:04:21 626

原创 (计算机网络二)长连接与短连接,HTTP用的什么连接?

在HTTP/1.0中,默认使用的是短连接。也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。如果客户端浏览器访问的某个HTML或其他类型的 Web页中包含有其他的Web资源,如JavaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个HTTP会话。但从HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头有加入这行代码:Connection:keep-alive在使用长连接的情况下,当一个网页打

2020-12-08 16:03:47 252

原创 计算机网络(一)HTTP的报文段及HTTP的状态码

HTTP的报文段1. HTTP特性1.1 HTTP的定义1.2 HTTP的持久化(keep-alive)1.3 HTTP的管线化(pipelining)1.4 HTTP的状态管理(Cookie)2. HTTP报文2.1 报文的定义2.2 报文的结构1. HTTP特性1.1 HTTP的定义HTTP 协议,用于客户端和服务器端之间的通信,请求从客户端发出,最后服务器端响应该请求并返回。HTTP=请求+响应。请求 = 请求方法 + 请求的资源对象URI + HTTP版本号 + 请求

2020-12-08 15:52:34 437

原创 20. 有效的括号

题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串示例 1:输入: “()[]{}”输出: trueLink解题思路:栈对于判断括号的有效性这一类问题都可以使用栈这一数据结构来解决。在对字符串进行遍历的时候,当遇到一个左括号的时候,我们会希望在后续遍历的时候有一个相应的右括号将其闭合。根据这一特点,即后遇到的左括号要先

2020-12-06 20:13:52 92

原创 15. 三数之和

题目描述:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[  [-1, 0, 1],  [-1, -1, 2]]解题思路:排序+双指针题目中要求说是不重复的三元组,那么不重复的本质又是什么呢?在

2020-12-06 20:13:13 83

原创 9. 回文数

题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。Link解题思路:翻转数字的一半(1) 所有负数不可能是回文(2) 除了数字0以外,个位数为0的数不可能是回文(3) 反转数字的后半部分例如,对于数字 1221,如果执行 1221 % 10,我们将得到最后一位

2020-12-06 20:12:23 119

原创 11.盛最多水的容器

题目描述:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。Link解题思路:双指针法水的容量 = 两个指针指向的数字中较小值 ∗ 指针之间的距离第一个指针指向数组中第一个元素的位置(下标为0),第二个指针指向数组中最后一个元素所在的位置(下标为数组的长度减1)。通过比较两个指针

2020-12-06 20:11:57 68

原创 4. 寻找两个正序数组的中位数

题目描述:给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。要求时间复杂度是 O(log(m+n))示例:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5解题思路:划分数组在统计中,中位数被用来:将一个集合划分为两个长度相等的子集,其中一个子集中的元素总是大于另一个子集中的元素。如果理解了中位数的划分作用,就

2020-12-06 20:11:01 54

原创 3. 无重复字符的最长字串

题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。s 由英文字母、数字、符号和空格组成。实例:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解题思路:滑动窗口(1) 我们使用两个指针表示字符串中某个子串的左右边界。其中左指针代表「枚举子串的起始位置」,而右指针即为不包含重复字符的最长子串的结束位置 rk;(2) 在每一步的操作中,我们会将左指针向右移动一格,表示 我们开始枚举下一个字符作为起始位置,然后

2020-12-06 20:10:15 93

原创 2. 两数相加

题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。解题思路:由于输入的两个链表都是逆序存储数字的位数的,因此两个链表中同一位置的数字可以直接相加。我们同时遍历两个链表,逐位计算它们的和,并与当前位置的进位值相加。具体而言,如果当前两个链表处相应位置的数字为 n1,n2,进位值为

2020-12-06 20:09:23 85

原创 1.两数之和

题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍解题思路:哈希表创建一个哈希表,对于每一个 x,我们首先查询哈希表中是否存在 target - x,然后将 x 插入到哈希表中,即可保证不会让 x 和自己匹配。import java.util.HashMap;class Solution { public int[] twoSum(in

2020-12-06 20:08:32 48

原创 5. 最长回文子串

文章目录1. 两数之和2. 两数相加3. 无重复字符的最长字串4. 寻找两个正序数组的中位数5. 最长回文子串1. 两数之和题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍解题思路:哈希表创建一个哈希表,对于每一个 x,我们首先查询哈希表中是否存在 target - x,然后将 x 插入到哈希表中,即可保证不会让 x 和自己匹配。impor

2020-12-05 14:25:32 122

原创 Shell 篇

ShellShell 概述Shell 解析器Shell 脚本入门Shell 中的变量系统变量自定义变量特殊变量:$n特殊变量:$#特殊变量:\$*、\$@特殊变量:$?运算符条件判断流程控制if 判断case 语句for 循环while 循环read读取控制台输入函数系统函数自定义函数Shell工具wccutsedawksortShell 概述Linux操作系统的核心是kernal(内核)当应用程序在执行时,需要调用计算机硬件的cpu,内存等资源,然后程序将指令发送给内核执行。为了防止程序发送一些恶

2020-12-05 10:42:00 101

原创 剑指Offer/61-67

文章目录61. 序列化二叉树62. 二叉搜索树的第k个结点63. 数据流中的中位数64. 滑动窗口的最大值65. 矩阵中的路径66. 机器人的运动范围67. 剪绳子61. 序列化二叉树62. 二叉搜索树的第k个结点63. 数据流中的中位数64. 滑动窗口的最大值65. 矩阵中的路径66. 机器人的运动范围67. 剪绳子...

2020-12-03 16:32:50 50

原创 剑指Offer/51-60

文章目录51. 构建乘积数组52. 正则表达式匹配53. 表示数值的字符串54. 字符流中第一个不重复出现的字符55. 链表中环的入口结点56. 删除链表中重复的结点57. 二叉树的下一个结点58. 对称的二叉树59. 按之字形顺序打印二叉树60. 把二叉树打印成多行51. 构建乘积数组52. 正则表达式匹配53. 表示数值的字符串54. 字符流中第一个不重复出现的字符55. 链表中环的入口结点56. 删除链表中重复的结点57. 二叉树的下一个结点58. 对称的二叉树59. 按之字形顺序

2020-12-03 16:32:29 58

原创 剑指Offer/41-50

文章目录41. 和为S的连续正数序列42. 和为S的两个数字43. 左旋转字符串44. 翻转单词顺序列45. 扑克牌顺子46. 孩子们的游戏(圆圈中最后剩下的数)47. 求1+2+3+...+n48. 不用加减乘除做加法49. 把字符串转换成整数50. 数组中重复的数字41. 和为S的连续正数序列42. 和为S的两个数字43. 左旋转字符串44. 翻转单词顺序列45. 扑克牌顺子46. 孩子们的游戏(圆圈中最后剩下的数)47. 求1+2+3+…+n48. 不用加减乘除做加法49. 把字符

2020-12-03 16:32:10 61

原创 剑指Offer/31-40

文章目录31. 整数中1出现的次数32. 把数组排成最小的数33. 丑数34. 第一个只出现一次的字符位置35. 数组中的逆序对36. 两个链表的第一个公共结点37. 数组在排序数组中出现的次数38. 二叉树的深度39. 平衡二叉树40. 数组中只出现一次的数字31. 整数中1出现的次数32. 把数组排成最小的数33. 丑数34. 第一个只出现一次的字符位置35. 数组中的逆序对36. 两个链表的第一个公共结点37. 数组在排序数组中出现的次数38. 二叉树的深度39. 平衡二叉树40

2020-12-03 16:31:30 62

原创 剑指Offer/21-30

文章目录21. 栈的压入、弹出序列22. 从上往下打印二叉树23. 二叉搜索树的后序遍历序列24. 二叉树中和为某一值的路径25. 复杂链表的复制26. 二叉搜索树与双向链表27. 字符串的排列28. 数组中出现次数超过一半的数字29. 最小的K个数30. 连续子数组的最大和21. 栈的压入、弹出序列22. 从上往下打印二叉树23. 二叉搜索树的后序遍历序列24. 二叉树中和为某一值的路径25. 复杂链表的复制26. 二叉搜索树与双向链表27. 字符串的排列28. 数组中出现次数超过一半的

2020-12-03 16:31:09 64

原创 剑指Offer/11-20

文章目录11. 二进制中1的个数12. 数值的整数次方13. 调整数组顺序使奇数位于偶数前面14. 链表中倒数第k个结点15. 反转链表16. 合并两个排序的链表17. 树的子结构18. 二叉树的镜像19. 顺时针打印矩阵20. 包含min函数的栈11. 二进制中1的个数12. 数值的整数次方13. 调整数组顺序使奇数位于偶数前面14. 链表中倒数第k个结点15. 反转链表16. 合并两个排序的链表17. 树的子结构18. 二叉树的镜像19. 顺时针打印矩阵20. 包含min函数的栈

2020-12-03 16:30:32 61

原创 (数据库二)MySQL 初级

MySQL 初级为什么学习数据库数据库的概念数据库存储数据的特点数据库语句执行过程及顺序DQL(Database Query Language) 语言的学习基础查询条件查询排序查询常见函数分组函数(聚合函数)字符函数数字函数日期函数通用函数流程控制函数分组查询子查询分页查询union 联合查询DDL 语言的学习库和表的管理常见约束DML 语言的学习插入语句修改语句删除语句TCL 语言的学习事务和事务处理为什么学习数据库数据库的优点:(1)海量存储数据,永久保存(2)安全性高,查询效率高(3)分布式

2020-11-29 20:32:38 181

原创 (数据库十五)数据库连接泄漏

数据库连接泄露指的是如果在某次使用或者某段程序中没有正确地关闭Connection、Statement和ResultSet资源,那么每次执行都会留下一些没有关闭的连接,这些连接失去了引用而不能得到重新使用,因此就造成了数据库连接的泄漏。数据库连接的资源是宝贵而且是有限的,如果在某段使用频率很高的代码中出现这种泄漏,那么数据库连接资源将被耗尽,影响系统的正常运转。...

2020-11-28 16:44:31 1762

原创 (数据库十四)where、having 和 group by 的常规用法

group by的常规用法是配合聚合函数,利用分组信息进行统计,常见的是配合max等聚合函数筛选数据后分析,以及配合having进行筛选后过滤。(1) maxselect max(user_id), grade from user_info group by grade;将数据照grade字段分组,查询每组最大的user_id以及当前组内容。注意,这里分组条件是grade,查询的非聚合条件也是grade。这里不产生冲突。(2) havingselect max(user_id),grade f

2020-11-28 16:43:49 913

原创 (数据库十三)慢查询的原因

1、调整数据结构的设计,对于经常访问的数据库表建立索引2、调整SQL语句, ORACLE公司推荐使用ORACLE语句优化器(Oracle Optimizer)和行锁管理器(row-level manager)来调整优化SQL语句。3、调整服务器内存分配。内存分配是在信息系统运行过程中优化配置的,数据库管理员可以根据数据库运行状况调整数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小;还可以调整程序全局区(PGA区)的大小。4、调整硬盘 I/O,DBA可以将组成同一个表空间的数据文件放在

2020-11-28 16:43:35 112

原创 (数据库十二)索引

索引: 对数据库表列进行增加恰当索引,可以快速的找到匹配的记录行数,相比于默认的全表扫描,可以大大加快查找的速度。作用: 加快查找速度实现方法: 一般分为B+树索引和哈希索引。(1)B+树索引: 在B-树上改进得到,其非叶子节点均为key值,叶子节点是key-data键值对。叶子节点前后相连且有序。(2)哈希索引: 通过对key进行hash(crc/MD5/sha1/sha256…)而将记录存储在不同的bucket中,可以做到常数时间的查找,但要注意哈希冲突的避免(链表法、线性探测、二次探测、公共溢

2020-11-28 16:43:22 70

原创 (数据库十一)MySQL 存储引擎及其锁机制

文章目录MySQL存储引擎MyIASM和InnoDB两种引擎所使用的索引的数据结构MySQL常用存储索引的锁机制MySQL存储引擎常用的存储引擎如下:(1) InnoDB 引擎:InnoDB 引擎提供了对数据库 ACID 事务的支持,并且还提供了行级锁和外键的约束,它的设计目标就是处理大数据容量的数据库系统。MySQL 5.7.15版本默认使用的是 InnoDB 版本(2) MyIASM引擎(原本MySQL的默认引擎):不提供事务的支持,也不支持行级锁和外键。(3) MEMORY引擎:所有的数据都

2020-11-28 16:43:07 235

原创 (数据库十)数据库中的锁机制以及死锁产生的原因及解决办法

文章目录MySQL并发情况下引起的事务的安全问题事务隔离级别MySQL的默认的RR(可重复度)隔离级别下,如何避免事务的安全问题?锁的分类锁粒度分类锁级别分类MySQL并发情况下引起的事务的安全问题脏读: 一个事务读取另一个事务未提交的问题不可重复读: 在同一事务中,两次读取同一数据,得到内容不同幻读: 同一事务中,用同样的操作读取两次,得到的记录数不相同事务隔离级别MySQL 中有 4 种隔离级别:未提交读(READ UNCOMMITTED): 一个事务在提交之前,对其他事务是可见的,即事

2020-11-28 16:42:49 988 2

原创 (数据库九)SQL 优化与数据库优化

对数据库做优化,主要是有以下思路:选择最有效率的表名顺序数据库的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理在FROM子句中包含多个表的情况下,如果个表是完全无关系的话,将记录和列名最少的表写在最后,然后依次类推。 也就是说:选择记录条数最少的表放在最后如果3个以上的表连接查询:如果个表是关系的话,将引用最多的表放在最后,然后依次类推。 也就是说:被其他表所引用的表放在最后。例如:查询员工的编号,姓名,工资,工资等级,部门名WHERE子句中的连

2020-11-28 16:42:32 201

原创 (数据库八)count和sum的区别,以及count(*),count(1) 和 count(列名)的区别

Redis可以实现缓存机制, Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、 list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入

2020-11-27 10:59:47 1141

原创 (数据库七)数据库事务、主键与外键的区别

数据库的事务:事务即用户定义的一个数据库操作序列,这些操作要么全做要全不做,是一个不可分割的工作单位,它具有四个特性,ACID,原子性,一致性,隔离性,持续性。主键和外键的区别:1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份证号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。2.外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。...

2020-11-27 10:57:28 336

原创 (数据库六)数据库中聚集索引与非聚集索引

聚集索引中键值的逻辑顺序决定了表中相应行的物理顺序。聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引,但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。**聚集索引对于那些经常要搜索范围值的列特别有效。**使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然

2020-11-27 10:56:42 695

原创 (数据库五)缓存机制:Memcached 与 Redis

一、Memcached 简介Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。本质上,它是一个简洁的 key-value 存储系统。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。二、Redis 简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 相对于其他 key - value 缓存产品有以下三个特点:1、Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的

2020-11-27 10:51:53 190

原创 (数据库四)左右连接及内外连接

一、内连接:当进行内连接时,系统会自动忽略两个表中对应不起来的数据,结果包含两个表中有联系的所有数据;1、自然连接:自然连接只考虑两个关系中在共同属性上取值相同的元组对。结果中无null,不需要使用修饰词限制连接属性。关键字:natural joinSELECT * FROM person NATURAL JOIN address;2、内连接关键字:inner join / join必须使用using 或 on指定连接属性/条件,否则产生的结果与交叉连接相同SELECT * FROM stu

2020-11-27 10:51:27 973

常见灰度图像库.rar

常见灰度图像库.rar

2021-02-16

空空如也

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

TA关注的人

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