自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2023-10-19 10:32:29 133

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

注释之后重启idea。

2023-07-11 18:07:35 630

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

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

2022-07-02 16:38:42 565 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 249

转载 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 357

原创 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 110

原创 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 218

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

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

2021-12-04 20:42:35 112

原创 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 216

原创 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 251

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

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

2021-09-19 17:35:43 231

原创 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 142

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

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

2021-09-14 15:09:50 115

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

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

2021-09-12 10:26:53 291

原创 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 111

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

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

2021-09-11 20:45:45 177

原创 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 254

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

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

2021-09-09 14:28:12 139

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

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

2021-09-09 12:39:49 131

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

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

2021-09-08 20:39:29 167

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

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

2021-09-07 09:31:46 209

原创 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 185

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

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

2021-09-06 20:53:55 260 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 175

转载 java对象初始化顺序

java对象初始化顺序

2021-07-08 19:43:45 55

转载 Java特性之多态的理解

添加链接描述

2021-07-08 19:31:12 75

转载 Java finally 的用法

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

2021-07-07 16:10:25 134

原创 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 2067

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

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

2020-10-28 15:48:32 895

原创 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 1815

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

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

2020-10-27 11:15:10 574

原创 OpenCV与图像处理学习十三——Harris角点检测(含代码)

OpenCV与图像处理学习十三——Harris角点检测(含代码)一、角点的概念二、Harris角点检测的实现过程三、Harris代码应用一、角点的概念角点: 在现实世界中, 角点对应于物体的拐角, 道路的十字路口、 丁字路口等。从图像分析的角度来定义角点可以有以下两种定义:角点可以是两个边缘的交点;角点是邻域内具有两个主方向的特征点;角点计算方法:前者通过图像边缘计算, 计算量大, 图像局部变化会对结果产生较大的影响;后者基于图像灰度的方法通过计算点的曲率及梯度来检测角点;角点所具

2020-10-27 10:59:52 908

原创 OpenCV与图像处理学习十二——图像形状特征之HOG特征

OpenCV与图像处理学习十二——图像形状特征之HOG特征一、图像特征理解1.1 颜色特征1.2 纹理特征1.3 形状特征1.4 空间关系特征二、形状特征描述2.1 HOG特征2.1.1 基本概念2.1.2 HOG实现过程2.1.3 代码实现前面介绍了图像的基础知识、基本处理方法以及传统图像分割的应用,下面的笔记将介绍图像特征与目标检测部分的应用,知识脉络如下所示:一、图像特征理解图像特征是图像中独特的, 易于跟踪和比较的特定模板或特定结构,如下图所示:其中E和F是在图像中独特的、特殊的模板,而

2020-10-26 16:19:44 1772

原创 OpenCV与图像处理学习十一——分水岭算法(含代码)

OpenCV与图像处理学习十一——分水岭算法(含代码)一、分水岭算法概要二、分水岭算法步骤三、代码应用一、分水岭算法概要任意的灰度图像可以被看做是地质学表面,高亮度的地方是山峰,低亮度的地方是山谷。给每个孤立的山谷(局部最小值)不同颜色的水(标签),当水涨起来,根据周围的山峰(梯度),不同的山谷也就是不同的颜色会开始合并,要避免山谷合并,需要在水要合并的地方建立分水岭,直到所有山峰都被淹没,所创建的分水岭就是分割边界线,这个就是分水岭的原理。二、分水岭算法步骤将白色背景变成黑色背景——目的是为

2020-10-26 15:26:43 665

原创 OpenCV与图像处理学习十——区域生长算法(含代码)

OpenCV与图像处理学习十——区域生长算法(含代码)一、区域生长算法概要二、区域生长算法原理三、代码应用一、区域生长算法概要区域生长是一种串行区域分割的图像分割方法。区域生长是指从某个像素出发,按照一定的准则,逐步加入邻近像素,当满足一定的条件时,区域生长终止。区域生长的好坏决定于:初始点(种子点)的选取。生长准则。终止条件。区域生长是从某个或者某些像素点出发,最后得到整个区域,进而实现目标的提取。二、区域生长算法原理基本思想:将具有相似性质的像素集合起来构成区域。步骤:对图像

2020-10-26 14:56:09 14697 2

原创 OpenCV与图像处理学习九——连通区域分析算法(含代码)

OpenCV与图像处理学习九——连通区域分析算法(含代码)一、连通区域概要二、Two-Pass算法三、代码实现一、连通区域概要连通区域(Connected Component)一般是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域,连通区域分析是指将图像中的各个连通区域找出并标记。连通区域分析是一种在CV和图像分析处理的众多应用领域中较为常用和基本的方法。例如: OCR识别中字符分割提取(车牌识别、文本识别、字幕识别等)、视觉跟踪中的运动前景目标分割与提取(行人入侵检测、遗留物体检测、基于

2020-10-22 09:57:07 6344 4

原创 OpenCV与图像处理学习八——图像边缘提取(Canny检测代码)

OpenCV与图像处理学习八——图像边缘提取(Canny检测代码)一、图像梯度1.1 梯度1.2 图像梯度二、梯度图与梯度算子2.1模板卷积2.2 梯度图2.3 梯度算子2.3.1 Roberts交叉算子2.3.2 Prewitt算子2.3.3 Sobel算子三、Canny边缘检测算法(代码实现)这次笔记简单介绍图像梯度、梯度图以及梯度算子的概念,并详细介绍三种基本的梯度算子,然后简单的介绍Canny检测的原理与代码实现。一、图像梯度1.1 梯度先来看梯度的概念:梯度是一个向量,梯度方向指向函数变

2020-10-21 17:11:00 13705 1

原创 OpenCV与图像处理学习七——传统图像分割之阈值法(固定阈值、自适应阈值、大津阈值)

OpenCV与图像处理学习七——传统图像分割之阈值法(固定阈值、自适应阈值、大津阈值)一、固定阈值图像分割1.1 直方图双峰法1.2 OpenCV中的固定阈值分割二、自适应阈值图像分割三、迭代法阈值分割四、Otsu大津阈值法前面的笔记介绍了一些OpenCV基本的图像处理,后面将学习使用OpenCV的传统的图像分割方法,这次笔记的内容是阈值法进行图像分割。图像分割是指将图像分成若干具有相似性质的区域的过程,主要有基于阈值、基于区域、基于边缘、基于聚类、基于图论和基于深度学习的图像分割方法等。图像分割分为语

2020-10-19 17:41:04 14336

原创 OpenCV与图像处理学习六——图像形态学操作:腐蚀、膨胀、开、闭运算、形态学梯度、顶帽和黑帽

OpenCV与图像处理学习六——图像基本操作(4)四、图像形态学操作4.1 腐蚀和膨胀4.1.1 图像腐蚀4.1.2 图像膨胀4.2 开运算与闭运算4.2.1 开运算4.2.2 闭运算4.3 形态学梯度(Gradient)4.4顶帽和黑帽有关图像处理前三次的笔记:OpenCV与图像处理学习三——图像基本操作(1)OpenCV与图像处理学习四——图像基本操作(2)OpenCV与图像处理学习五——图像基本操作(3)这是有关图像基本操作的最后一次笔记,有关图像形态学操作。四、图像形态学操作形态学,是

2020-10-18 20:26:18 785 1

原创 OpenCV与图像处理学习五——图像滤波与增强:线性、非线性滤波、直方图均衡化与Gamma变换

OpenCV与图像处理学习五——图像基本操作(下)三、图像滤波与增强3.1 线性滤波3.1.1 方框滤波上两次的笔记地址:OpenCV与图像处理学习三——图像基本操作(上)OpenCV与图像处理学习四——图像基本操作(中)这次笔记的主要内容为图像滤波与增强、以及一点图像形态学的内容。对应的OpenCV官方python文档为:三、图像滤波与增强所谓滤波实际上是信号处理领域的一个概念,就是将信号中特定频率分量滤除的一项操作。而图像又可以看成是一个二维信号,其中像素值代表信号的强弱。而图像的高低频

2020-10-18 13:53:17 2356 3

空空如也

空空如也

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

TA关注的人

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