自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第二章 栈与队列(Python实现版)

官方定义:栈是限定仅在表尾进行插入和删除操作的线性表;解释:栈也是一种线性结构,相比数组, 栈对应的操作是数组的子集,只能从一端添加元素,也只能从一端取出元素。把允许删除和插入的一端称为栈顶(top),另一端称为栈底(bottom栈是一种后进先出的数据结构:Last In First Out (LIFO)思考:最先进栈的元素,是不是就只能是最后出栈?不一定,但是依然要满足只能从栈顶进出。队列是一种先进先出的数据结构(先到先得):First in first out(FIFO)

2024-08-24 19:23:25 1071

原创 第6章 B+树索引

这样我们再插入记录 (9, 1, ‘c’) 时,由于 页3 中存储的目录项记录是由 c2列 + 主键 + 页号 的值构成的,可以先把新记录的 c2 列的值和 页3 中各目录项记录的 c2 列的值作比较,如果 c2 列的值相同的话,可以接着比较主键值,因为 B+ 树同一层中不同目录项记录的 c2列 + 主键 的值肯定是不一样的,所以最后肯定能定位唯一的一条目录项记录,在本例中最后确定新记录应该被插入到 页5 中。在数据页中并没有对非主键列建立所谓的页目录,所以无法通过二分法快速定位相应的槽。

2024-08-24 19:22:36 834

原创 第一章——数组基础(LeetCode题型归纳篇——数组双指针python版)

LeetCode题型归纳——数组双指针(python版)

2024-08-19 20:01:16 1042

原创 第一章——数组基础(概念篇python版)

介绍了数组这种数据结构,并用python语言自定义了数组对象和对应的增删改查方法

2024-08-18 15:02:50 2083

原创 第5章 InnoDB数据页结构

页,是InnoDB管理存储空间的基本单位,一页的大小一般是16KB。InnoDB有不同类型的页,如存放表空间头部信息的页,存放Insert Buffer信息的页,存放INODE信息的页,存放undo日志信息的页等。而本章聚焦的是存放我们表中记录的页,官方称之为索引(INDEX)页,或者叫数据页。

2024-08-17 10:53:11 793

原创 第4章 InnoDB记录结构(行格式)

InnoDB是一个将表中的数据存储到磁盘上的存储引擎,所以即使关机后重启数据还是存在的。而真正处理数据的过程是发生在内存中的,所以需要把磁盘中的数据加载到内存中,如果是写入或修改请求的话,还需要把内存中处理后的内容刷新到磁盘上。问题:磁盘读写速度相较于内存非常慢,需要提高获取某些记录的效率。解决:InnoDB采用将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为16KB即一次最少从磁盘中读取16KB内容到内存中,一次最少把内存中的16KB内容刷新到磁盘中。

2024-08-11 21:13:17 755

原创 第3章 乱码的前世今生——字符集和比较规则

计算机怎么存储字符串——建立字符与二进制数据的映射关系(界定字符范围&&编码与解码规则)即字符集和编码规则的概念。比较两个字符大小的规则。

2024-08-08 20:50:29 862

原创 MySQL是怎样运行的——第2章 启动选项和系统变量

MySQL服务器程序运行过程中会用到许多影响程序行为的变量,被称为MySQL系统变量,如max_connections等,MySQL有好几百条。可以使用命令行或配置文件中的选项在启动服务器时改变一些系统变量的值。大多数系统变量的值也可以在程序运行过程中修改,而无需停止并重新启动它。

2024-08-01 20:07:44 853

原创 MySQL是怎样运行的——第1章 初识MySQL

MySQL的运行过程就是C/S架构。多个客户端程序连接到服务器程序,向服务器发送增删改查的请求,然后服务器程序根据这些请求,对存储的数据进行相应处理。手动启动:MySQL安装目录的bin目录下存在一个musqld可执行文件,双击它或在命令行中输入mysqld,就启动MySQL服务器程序了;(manual选项表示Windows系统启动的时候不自动启动该服务)重点关注bin目录下的mysql可执行文件,可以与服务器程序交互。1.5.3 Unix域套接字文件。1.5.2 命名管道和共享内存。

2024-07-30 21:39:59 415

原创 列表作为条件查询的参数

【代码】列表作为条件查询的参数。

2023-10-19 10:32:29 182

原创 解决Since Maven 3.8.1 http repositories are blocked的问题

注释之后重启idea。

2023-07-11 18:07:35 756

原创 环境变量的作用(以java指令为例)

环境变量的分类,重点介绍Path环境变量

2022-07-02 16:38:42 633 1

原创 Redis概述以及安装

二、Redis概述以及安装Redis是一个开源的key-value存储系统;和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set——有序集合)和hash(哈希类型);这些数据类型都支持push/pop、add/remove及取交集并集差集以及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序;与memcached一样,为了保证效率,数据都是缓存在内存中;区别的

2022-05-06 16:06:36 292

转载 RabbitMQ学习笔记

1.为什么要使用消息队列:其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么?1.解耦A系统发送数据到BCD系统,通过接口调用,如果有一天D系统不调用了,而又添加一个E系统,那A系统还要改调用代码,用MQ后,A系统只要把数据发送到MQ里,哪个系统需要就去消息MQ2.异步A系统接收一个请求,需要在自己本地写库,还需要在BCD三个系统写库,时间比较长,用了MQ后,只要在A系统里写库并把结果响应给用户,在把数据发送到MQ里就好。3.削峰假如A系统高

2022-04-23 19:26:27 427

原创 Nginx学习笔记

⼀、 Nginx的安装与启动1、什么是NginxNginx 是⼀款⾼性能的 http 服务器/反向代理服务器及电⼦邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊⼽尔·⻄索夫(Igor Sysoev)所开发,官⽅测试 nginx 能够⽀⽀撑 5 万并发链接,并且cpu、内存等资源消耗却⾮常低,运⾏⾮常稳定。Nginx应⽤场景:1、 http 服务器。 Nginx 是⼀个 http 服务可以独⽴提供 http 服务。可以做⽹⻚静态服务器。2、虚拟主机。可以实现在⼀台服务器虚拟出多个⽹站。

2022-04-23 15:39:28 147

原创 dubbo学习总结——思维导图

Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的、轻量级的开源Java RPC框架,可以和Spring框架无缝集成,2018年阿里巴巴把这个框架捐献给了apache基金会什么是RPC?RPC全称为remote procedure call,即远程过程调用。比如两台服务器A和B,A服务器上部署一个应用,B服务器上部署一个应用,A服务器上的应用想调用B服务器上的应用提供的方法,由于两个应用不在一个内存空间,不能直接调用,所以需要通过网络来表达调用的语义和传达调用的数据.

2022-04-13 20:08:56 266

转载 Spring的@Resource注解报java.lang.NoSuchMethodError

见:https://www.cnblogs.com/xiaoguoniu/p/13504601.html少了javax的包

2021-12-04 20:42:35 124

原创 JavaSE——XML与JSON(语法格式、解析内容)

第6节 XML与JSON一、XML1.1 XML简介XML全称为可扩展标记语言(extensible Markup Language) 。特性:xml具有平台无关性,是一门独立的标记语言;xml具有自我描述性。用途:网络数据传输数据存储配置文件(主要)XML文件:.XML文件是保存XML数据的一种方式,XML数据也可以以其他方式存在(如在内存中构建XML数据)。不要将XML语言狭隘的理解成XML文件。1.2 XML语法格式(重点)1. XML文档声

2021-09-23 17:04:57 257

原创 JavaSE——IO(下)(Properties类、序列化与反序列化)

第3节 IO(下)一、.properties文件与Properties类1.1 .properties文件介绍.properties文件一种属性文件,以键值对 的格式存储内容,在Java中可以使用Properties类来读取这个文件,一般来说它作为一些参数的存储,作为配置文件使用。1.2 Properties类它是Hashtable的子类,使用键值对来存储数据。构造方法:方法:1、根据键获取值:2、将键值对打印到指定的输出流:3、从输入字节流或字符流中读取全部内容:4、返回所有

2021-09-19 22:13:19 322

原创 JavaSE——IO(上)(File、字节流、字符流、转换流、打印流、缓存流)

第3节 IO(上)一、File类与文件基本操作在程序中经常需要用到文件的操作,Java有专门的类来进行文件的操作——File类。1.1 File类概述它是对文件和目录路径名的抽象表示。 即它本身不是一个文件,只是一个抽象表示,一个用于操作文件的对象(实现后)。用户界面和操作系统使用依赖于系统的路径名字符串来命名文件和目录。此类提供了一个抽象的,与系统无关的分层路径名视图。1.2 绝对路径于相对路径绝对路径 :从盘符开始,是一个完整的路径,例如:c://a.txt;相对路径 :在Jav

2021-09-19 17:35:43 271

原创 JavaSE——类集(下)(Set、Comparable、Collections、Comparator、Map)

第2节 集合(下)一、Set接口java.util.Set 接口和 java.util.List接口一样,同样继承自 Collection接口,它与Collection接口中的方法基本一致,并没有对 Collection接口进行功能上的扩充,只是比Collection接口更加严格了。与 List接口不同的是, Set接口中元素无序 ,并且都会以某种规则保证存入的元素不出现重复 。Set接口有很多子类:比较常用的有HashSet、LinkedHashSet、TreeSet三个,后面分别介绍。二、

2021-09-18 11:05:21 184

原创 JavaSE——类集(上)(Collection、List、Iterator、forEach)

第2节 集合(上)因为已经有数据结构的基础,前面有关数据结构的知识就不单独整理了,直接上Java的集合类的知识。一、类集(集合类)1.1 集合概述集合: 集合是java中提供的一种容器,可以用来存储多个数据。集合和数组的区别:数组的长度固定,集合的长度可变;数组中存储的是同一个类型的元素,可以存储基本数据类型值,集合存储的都是对象,而且对象的类型可以不一致,在开发中一般当对象多的时候,使用集合来进行存储。对象数组有哪些问题?普通的对象数组的最大问题在于数组中的元素个数是固定的,不

2021-09-14 15:09:50 138

原创 JavaSE——常用类库(String类)

第1节 常用类库——String因为String相对之前的类来说更加常用一些,所以对字符串类进行专门的整理。1. 概述 String类表示字符串,Java中的所有字符串文字都实现为此类的实例。字符串是不变的,它们的值在创建后无法更改 。因为它的创建是通过一个由private final修饰的byte数组value来实现的,一旦赋值,不可更改。如果想要使用可变字符串,后面的StringBuffer和StringBuilder会介绍。因为String对象是不可变的,所以可以共享它们。 这句

2021-09-12 10:26:53 472

原创 JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)

第1节 常用类库(下)六、java.util.DateDate类表示特定的时刻,精度为毫秒。在JDK 1.1之前, Date类还有两个附加功能。 它允许将日期解释为年,月,日,小时,分钟和秒值。 它还允许格式化和解析日期字符串。 不幸的是,这些功能的API不适合国际化。 从JDK 1.1开始, Calendar类应该用于在日期和时间字段之间进行转换 ,而DateFormat类应该用于格式化和解析日期字符串 。 不推荐使用Date中的相应方法。所以Date类主要就是表示特定时刻的对象,不具备太多功能。

2021-09-12 10:14:38 143

原创 JavaSE——常用类库(上)(泛型、Objects、Math、ArraysBigDecimal类)

第1节 常用类库(上)面向对象更多是思想上的东西,常用类库更多是工具上的东西,熟能生巧,多整理笔记。一、泛型1.1 概述泛型,即“参数化类型”。就是将类型由原来具体类型进行参数化 ,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参 ),然后在使用/调用时传入具体的类型(类型实参) 。1.2 泛型的使用 泛型一般在类、接口和方法中使用,其中主要是类中用的更多。1.2.1 泛型在类中的使用 先来看定义的时候的格式:package com.kaikeba.core

2021-09-11 20:45:45 222

原创 JavaSE——异常处理(异常简介、try-catch-finally、throws、throw)

第4节 异常处理异常处理学习的目标:明确说明是异常(重点)能辨识出常见的异常及其含义(熟悉)理解异常产生的原理(了解)能处理异常(重点)能够自定义异常(熟悉)一、什么是异常?异常是在程序中导致程序中断运行的一种指令流 。例如,现在有如下的操作代码:public class ExceptionDemo01{ public static void main(String argsp[]){ int i = 10 ;

2021-09-10 10:13:05 301

原创 JavaSE——面向对象高级(继承、final关键字、抽象类与接口、多态、Object类、内部类、包装类、可变参数)

第3节 面向对象高级一、继承1.1 概述和使用继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。格式如下所述:class 父类 {}class 子类 extends 父类 {}继承的限制:Java中只有单继承,多重继承,没有多继承。看下面的例子:package com.kaikeba.objectoriented.senior;p

2021-09-09 14:28:12 185

原创 JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)

第2节 面向对象进阶一、封装与private概述: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏。 保护成员属性,不让类以外的程序直接访问和修改。封装原则: 隐藏对象的属性和实现细节,仅对外公开访问方法,并且控制访问级别。我们观察如下代码:class Person { private String name; //表示姓名 private int age; //表示年龄 void tell() { Sys

2021-09-09 12:39:49 205

原创 JavaSE——面向对象基础(思想、类与对象、构造方法、重载、匿名对象)

第1节 面向对象基础一、面向对象思想1.1 概述 面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段的产物。 面向对象是相对于面向过程来讲的,指的是把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。面向过程到面向对象思想层面的转变:面向过程关注的是执行的过程,面向对象关注的是具备功能的对象。面向过程到面向对象,是

2021-09-08 20:39:29 215

原创 JavaSE——数组基础(创建格式、下标、获取长度、常见问题、多维数组)

第4节 数组一、概述 数组是相同数据类型的多个数据的容器。 这些元素按线性顺序排列。所谓线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素;除最后一个元素外,每一个元素都有唯一的后继元素。(“简单理解就是:一个跟一个顺序排列”)。二、创建格式格式1:数据类型[] 数组名称 = new 数据类型[数组长度];//常用格式1:创建数组,并指定长度,不指定数组中的内容//数据类型[] 数组名称 = new 数据类型[数组长度];//数组长度通过int数据指定int[] ages

2021-09-07 09:31:46 242

原创 JavaSE——流程控制(接收输入Scanner、分支结构(if与switch)、循环结构(while、do-while与for))

第3节 流程控制一、接收用户输入使用Scanner类来接收用户的输入。新建一个Scanner对象:Scanner input = new Scanner(System.in);input可以接收各种数据类型的输入:比如nextInt、nextByte等,但是这样不太安全,因为如果输入了别的类型的数据,代码就会直接报错;所以比较常用的是next()和nextLine(),它们都返回的是String类型;其中next会从第一个不为空格的字符开始接收,然后遇到空格或换行符结束接收;nextL

2021-09-06 21:01:47 202

原创 JavaSE——Java基础语法(二进制、变量、方法(函数)、运算符、转义字符)

第2节 基础语法一、二进制1.1 二进制介绍计算机中的数据都以二进制数字保存。二进制 :逢二进一,即只有0、1两个值。如十进制的10在计算机内保存为二进制的1010。计算机中信息的存储单位:位(Bit):表示一个二进制数码0或1,是计算机存储处理信息的最基本的单位。字节(Byte):一个字节由8个位组成,它表示作为一个完整处理单位的8个二进制数码。1.2 补码事实上,计算机内的二进制数值是以补码形式表示的。补码:正数的补码:就是它本身;负数的补码:将该数的绝对值的

2021-09-06 20:53:55 324 1

原创 JavaSE——Java介绍与环境变量简述

第1节 Java介绍1、Java的起源与演变略2、Java体系与特点Java体系 :Java SE:标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案。Java EE:企业版,以企业为环境而开发应用程序的解决方案。Java ME:微型版,效力于消费产品和嵌入式设备的最佳解决方案。Java的特性 :一种纯面向对象 的编程语言;一种与平台无关(跨平台 )的语言;(它提供了在不同平台下运行的解释环境)一种健壮 的语言,吸收了C/C++语言的优点;有较

2021-09-06 11:04:45 210

转载 java对象初始化顺序

java对象初始化顺序

2021-07-08 19:43:45 67

转载 Java特性之多态的理解

添加链接描述

2021-07-08 19:31:12 109

转载 Java finally 的用法

Java finally 的用法,看这一篇就够了

2021-07-07 16:10:25 162

原创 OpenCV与图像处理学习十七——OpenCV人脸检测(含代码)

OpenCV与图像处理学习十七——OpenCV人脸检测(含代码)一、人脸识别概要1.1 人脸检测1.2 人脸对齐(Face Alignment)1.3 人脸特征提取(Face Feature Extraction)1.4 人脸识别(Face Recognition)二、人脸检测(不是识别)的代码2.1 cv2.CascadeClassifier2.2 dlib库一、人脸识别概要一般而言,一个完整的人脸识别系统包含4个主要组成部分,即人脸检测、人脸对齐(将侧脸或歪脸变成正面脸)、人脸特征提取以及人脸识别。

2020-10-28 16:39:31 2187

原创 OpenCV与图像处理学习十六——模板匹配

OpenCV与图像处理学习十六——模板匹配一、模板匹配介绍二、代码应用一、模板匹配介绍模板匹配是一种最原始、最基本的模式识别方法,研究某一特定目标的图像位于图像的什么地方,进而对图像进行定位。在待检测的图像上,从左到右,从上到下计算模板图像与重叠子图像的匹配度,匹配程度越大,两者相同的可能性越大。二、代码应用OpenCV中的函数:result = cv2.matchTemplate( image, templ, method[, result[, mask]] )参数如下所示:imag

2020-10-28 15:48:32 1002

原创 OpenCV与图像处理学习十五——LBP纹理特征(含代码)

OpenCV与图像处理学习五——LBP纹理特征(含代码)一、LBP介绍二、LBP原理三、代码应用一、LBP介绍LBP(Local Binary Pattern, 局部二值模式) , 是一种用来描述图像局部纹理特征的算子; 它具有旋转不变性和灰度不变性等显著的优点;作者: T. Ojala, M.Pietikäinen, 和 D. Harwood ;提出时间: 1994年二、LBP原理LBP算子定义在一个 3 × 3 的窗口内, 以窗口中心像素为阈值, 与相邻的8个像素的灰度值比较, 若周围的像素

2020-10-28 14:54:14 2006

原创 OpenCV与图像处理学习十四——SIFT特征(含代码)

OpenCV与图像处理学习十四——SIFT特征(含代码)一、SIFT算法二、SIFT实现过程三、代码实现一、SIFT算法SIFT, 即尺度不变特征变换算法(Scale-invariant feature transform,SIFT) , 是用于图像处理领域的一种算法。 SIFT具有尺度不变性, 可在图像中检测出关键点, 是一种局部特征描述子。其应用范围包含物体辨识、 机器人地图感知与导航、 影像缝合、 3D模型建立、手势辨识、 影像追踪和动作比对,应用广泛。二、SIFT实现过程SIFT特性:

2020-10-27 11:15:10 636

空空如也

空空如也

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

TA关注的人

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