- 博客(24)
- 收藏
- 关注
原创 什么是Redis?Redis为什么这么快?当缓存?主存访问?高可用性?
而在写入操作时,Redis同样直接作用于内存区域,新数据能即刻生效,仅在执行持久化策略时,例如RDB快照或AOF日志记录,数据才会被异步地或按需地同步至磁盘,以确保即使在系统重启后数据仍能得以恢复,但此过程并不会妨碍Redis在常规操作中维持其卓越的性能表现。所以Redis服务端,整体来看,就是一个以事件驱动的程序,它的操作都是基于事件的方式进行的。存储键值对,其中键是唯一的。SDS可以动态的扩展,在buf数组里可以动态的添加,并修改相对应的len和free即可,相比于c++的静态字符串结构有更大的优势。
2024-06-04 17:48:09
897
原创 SQL太慢了?优化SQL的奇招
创建索引后,数据库中的索引类似于一个有序的数据结构(通常是B树),它记录了建立的索引。然而,MySQL中的回表机制(即查询需要的列不在索引中时,需要回到主表中去检索这些列)有时可能减少索引带来的性能提升。创建覆盖索引(也称为包含索引或索引视图)是一种特殊类型的索引,它允许查询直接从索引中获取所需的所有数据,而不需要回到原始表中去检索额外的列。当您执行操作时,数据库引擎会找到你建立的索引 idx_covering ,此个索引包含了你所需要的全部的条件, 因此不会执行回表操作,重新去找主键索引表重复全表查询。
2024-06-04 16:54:04
186
原创 P,NP,NPC,NPH问题区别
只要解决了这类npc问题,那么就可以解决这类np问题(约化的传递性)。对于同一类的所有的NP类问题,若他们都可以在多项式时间内约化成最难的一个NP类问题(我们直观的认为,被约化成的问题应具有比前一个问题更复杂的时间复杂度)当我们针对这个时间复杂度最高的超级NP问题要是能找到他的多项式时间算法的话,那就等于变向的证明了其下的所有问题都是存在多项式算法的即NP=P!可以在多项式时间内验证的问题,但是不一定可以在多项式时间内求解的问题(困难问题),只要能在多项式时间内求解出来那么一定可以在多项式时间内验证出来。
2024-06-02 16:58:24
221
原创 making算法,离线算法,在线算法,竞争比,在线广告词区分
如果你有一个随机化在线算法A,它在面对适应性在线对手时具有c倍的竞争力,这意味着算法A的成本最多是最优离线算法成本的c倍。同时,如果你有一个确定性算法,它在面对无感知对手时具有d倍的竞争力,这意味着这个确定性算法的成本最多是最优离线算法成本的d倍。这里的关键点是,适应性离线对手可以模拟适应性在线对手的行为(因为它知道整个序列),并且可以做出与无感知对手一样最优的选择(因为它在序列结束之后选择最优策略)。在最坏的情况下,LRU算法的成本(页面错误的次数)最多是最优离线算法OPT的成本的k倍。
2024-06-02 16:57:32
556
原创 可以形成最大正方形的矩形数目
可以形成最大正方形的矩形数目 给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li 、 宽度为 wi 。 如果存在 k 同时满足 k <= li 和 k <= wi ,就可以将第 i 个矩形切成边长为 k 的正方形。例 如,矩形 [4,6] 可以切成边长最大为 4 的正方形。 设 maxLen 为可以从矩形数组 rectangles 切分得到的 最大正方形 的边长。 请你统计有多少个矩形能够切出边长
2022-05-14 14:23:47
228
1
原创 操作系统及其分类
操作系统操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。操作系统的种类很多,各种设备安装的操作系统可从简单到复杂,可从手机的嵌入式操作系统到超级计算机的大型操作系统。目前流行的现代操作系统主要有Android、BSD、iOS、Linux、Mac OS X、Windows、Windows Phone和z/OS等,除了Windows
2022-05-14 08:55:22
1311
原创 内存和外存的区别和类型
内存特点:内存又称主存,是CPU能直接寻址的存储空间,由半导体材料制成。内存的特点是存取速率快。它是电脑中的主要部件,用于暂时存放CPU中的运算数据。外存特点:外存储器的特点是容量大、价格低,但是存取速度慢,并且外存储器用于存放暂时不用的程序和数据。内存储器和外存储器之间常常频繁地交换信息。1.内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。内存也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与外部存储器交换的数据,计算机中所有程序的运行都是在内存中进行。CPU把需要运算
2022-05-06 10:18:37
8182
原创 冯.诺依曼体系结构计算机的基本组成及工作原理
原理:原理:计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令。程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。总结:1.计算机完成任务是由事先编号的程序完成的;2.计算机的程序被事先输入到存储器中,程序运算的结果,也被存放在存...
2022-05-05 15:37:54
3851
1
原创 计算机基本组成部分
中央处理器(CPU)是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的核心部件。CPU包括运算逻辑部件、寄存器部件,运算器和控制部件等。...
2022-05-05 15:10:41
214
原创 java常用的相关类
1:时间类字符串相关类不可变字符序列:String可变字符序列:StringBuffer StringBuilder2:包装类3:math类4:枚举类5:file类包装类:Integer i = new Integer(1000);用对象将1000包装起来。1000相当于对象里面的属性Integer.MAX_VALUE 此方法可以得到int型允许的最大数为多少Integer.toHexString...
2022-05-02 20:59:06
347
原创 为什么压缩图片和压缩
为什么要压缩图片?表示图像需要大量的数据,但图像数据是高度相关的,或者说存在冗余(Redundancy)信息,去掉这些冗余信息后可以有效压缩图像,同时又不会损害图像的有效信息。视网膜上有两种感光细胞,能够感知亮度变化的视杆细胞,以及能够感知颜色的视锥细胞,由于视杆细胞在数量上远大于视锥细胞,所以我们更容易感知到明暗细节。数字图像的冗余表现为以下几种形式:空间冗余、时间冗余、视觉冗余、信息熵冗余、结构冗余和知识冗余。(1)空间冗余:图像内部相邻像素之间存在较强的相关性所造成的冗余。(2)时间
2022-04-23 15:29:57
4017
转载 计算机如何存储图像的颜色
前言颜色是通过眼、脑和我们生活经验所产生的对光和视觉感受,我们肉眼所见到的光线,是由波长范围很窄的电磁波产生的,不同的波长的电磁波表现为为不同的颜色,对色彩的辨认是肉眼受到电磁波辐射能刺激后所引起的视觉神经感觉。一、颜色模式(存储方式) 颜色模式,是将某种颜色表现为数字形式的模型,或者说是一种记录图像颜色的方式。分为:RGB模式、CMYK模式、HSB模式、Lab模式、位图模式、灰度模式、索引颜色模式、双色调模式和多通道模式。...
2022-04-22 20:31:51
1159
原创 什么是分辨率
分辨率指的是图像或者显示屏在长和宽上各拥有的像素个数。比如一张照片分辨率为1920x1080,意思是这张照片是由横向1920个像素点和纵向1080个像素点构成,一共包含了1920x1080个像素点。特点分辨率决定了位图图像细节的精细程度。通常情况下,图像分辨率的越高,所包含的像素就越多,图像就越清晰,印刷的质量也就越好。同时,它也会增加文件占用的存储空间。所以分辨率越高的位图,你放的倍数越大,相对分辨率低的就来的清晰,马赛克程度低。单位描述分辨率的单位有:(dpi点每英寸)、lp
2022-04-22 10:27:28
4696
原创 图片在计算机的储存
位图位图图片(bitmap), 亦称为点阵图像或绘制图像,是由称作像素(图片元素)的单个点组成的。这些点可以进行不同的排列和染色以构成图样。当放大位图时,可以看见赖以构成整个图像的无数单个方块。扩大位图尺寸的效果是增大单个像素,从而使线条和形状显得参差不齐。然而,如果从稍远的位置观看它,位图图像的颜色和形状又显得是连续的。常见位图格式:Jpeg:对色彩的信息保留较好,高清Gif:gif格式最多只能储存256色,所以通常用来显示简单图形及字体,通常用于一些图片小动画效果...
2022-04-21 20:38:46
5048
3
原创 Markdown
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-04-19 15:53:16
62
1
原创 Java数组小笔记
private final char [] value;final:指向的对象不变,但指向的对象内容可以变;数组里面的值也不可变原因:未提供可变的接口,属性是私有的,需定义一个set方法。分析下面案例:因为str2和str1是new,分别是属于两个不同空间地址,str3和str4都是指向常量池,所以结果不一样。...
2022-04-15 17:06:05
482
5
原创 flask基础知识
FlaskFlask是一个使用Python编写的轻量级 Web 应用框架。flask 是第三方写好的工具包基本模式Flask的基本模式为在程序里将一个视图函数分配给一个URL,每当用户访问这个URL时,系统就会执行给该URL分配好的视图函数,获取函数的返回值并将其显示到浏览器上、如果看不懂定义,那看下面操作,你肯定能理解。执行操作 在pycharm; new project一个新的flask,就会出现下图情况运行结果为:1:127.0.0.1 地址...
2022-04-14 11:23:44
1209
7
原创 ip小知识大全
ip是固定的吗?每台电脑在连上网络(不管是局域网还是互联网)时,都是以一个ip地址与网络进行连接的,因为ip地址表示了一个电脑所在的位置,就像你家的门牌号码一样,你家总不可能同时拥有两个门牌号码吧?但是,如果是再次连接上网的话,就不一定了,一般家里的电脑上网都是由Internet服务提供商自动分配的一个临时的ip地址下一次再上网就未必是这个地址了你只是临时用这个ip地址与外界连接了一下而已,如果给你分配了一个固定的ip的话,当你不上网时,就浪费了。如何搜索ip地址1:百度搜素IP地址,就会出现该
2022-04-13 18:13:13
2395
2
原创 java的多态性
多态的前提:1:要有继承2:要有方法的重写3:父类引用指向子类对象 thing a = new desk();4:多态中编译看左边,运行看右边多态的使用:1:成员变量:使用父类的2:成员方法:由于重写,所以使用子类的先来看看这最基础的:首先desk类继承了thing类,然后重写了父类的pub()方法,创建了thing tesk = new desk();父类引用指向子类的对象,下面有对这句话进行解释运行结果:然后我们看一下这个代...
2022-04-11 17:12:34
638
6
原创 java的继承详解
继承。相当于父亲和孩子。首先先声明一个thing类作为父类,然后在创建一个desk作为子类。desk类和thing类之间用一个extends连接,前后顺序不能变,前面为子类后面为父类。desk类继承了thing类的所有属性和方法,都可以对其进行调用。当子类具有自己特有的属性时,即可以对父类的pub进行重写。此时重写要求方法名都一致,此时pub执行出来的就是子类desk的方法。重写不对等方法重载。结果为!:当子类重写父类的方法后,在子类中若想调用父类中被重写的方法时,需用super
2022-04-10 16:27:22
408
原创 数组的静态初始化和动态初始化
首先先声明一个数组,其中int[]a 和int a[]表达结果一样利用大括号进行静态复制,中间用逗号隔开arr1.length用于求数组长度动态初始化注意事项: arr2需要定义为static,因为main为static。输出结果!:...
2022-04-10 15:38:49
99
原创 java的数组静态初始化
int[] arr = new int[3]; /* [],说明这是个数组 int[] a int a[]都是表示一个数组 arr数组名称 new为数组申请内存空间 */int[] arr1 ={1,2,3}; //静态初始化 索引范围[0,3] //获取长度 int b=arr1.length;...
2022-04-10 15:05:56
890
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人