自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java最全SSM框架教程-学习笔记

黑马程序员最全SSM框架教程|Spring+SpringMVC+MyBatis全套教程(spring+springmvc+mybatis)Spring快速入门Spring优势Spring开发步骤Spring配置文件Bean标签基本配置:Bean标签范围配置:引入其他配置文件(分模块开发)Spring重点配置:...

2022-05-19 20:28:18 494

转载 Could not transfer artifact(maven导包时报错)

Maven异常:Could not transfer artifact在使用idea时,pom文件报错,是因为jar包下载不完整,第一次下载失败时会在对应jar包的文件目录下生成一个lastUpdated文件,导致以后都不会真正下载jar包解决方案:将本地仓库下的lastUpdated文件删除执行compile,在更新一下jar包就可https://blog.csdn.net/qq_45450199/article/details/108920875https://www.cnblogs.com/

2022-05-10 15:29:26 25014

原创 黑马程序员最新版JavaWeb基础教程-学习笔记

da@黑马程序员最新版JavaWeb基础教程-学习笔记day06-HTML&CSSHTMLHTML(HyperTest Markup Language):超文本标记语言是一门语言,所有的网页都是用html这门语言编写出来的

2022-05-08 10:32:46 5581

原创 xml(可扩展标记语言)学习记录

2022-05-05 21:06:39 158

原创 java maven 安装与idea和阿里云配置(踩坑记录)

安装:https://www.csdn.net/tags/OtDaYg4sMjM0Ni1ibG9n.htmlidea和阿里云配置:https://www.cnblogs.com/yxym2016/p/12662819.html

2022-05-05 11:37:16 688

原创 IDEA快捷键总结

(随着学习深入,持续更新中…)1 main函数输入main,然后回车,会自动生成 public static void main(String[] args)2 System.out.println();输入sout,然后回车,会自动生成 System.out.println()3 快速生成方法返回值idea快速生成方法返回值【快捷键】Ctrl+alt+v或者,在方法那一行,右键–> refactor --> introduce Variable...

2022-05-04 16:00:17 609

原创 从0开始学架构-学习笔记

05 复杂度来源:高可用高可用定义:系统无中断地执行其功能的能力,代表系统的可用性程度,是进行系统设计时的准则之一。系统的高可用方案五花八门,但万变不离其宗,本质上都是通过“冗余”来实现高可用。通俗点来讲,就是一台机器不够就两台,两台不够就四台;一个机房可能断电,那就部署两个机房;一条通道可能故障,那就用两条,两条不够那就用三条(移动、电信、联通一起上)。高可用的“冗余”解决方案,单纯从形式上来看,和之前讲的高性能是一样的,都是通过增加更多机器来达到目的,但其实本质上是有根本区别的:高性能增加机

2022-04-28 17:40:41 1660 1

转载 理解Go中的接口和多态

Go中的多态go中的多态是通过接口实现的,在了解接口之前先引出方法这一概念。在go中,方法区别于函数:函数通常指为了实现某些目的,打包的一系列有明确逻辑关系的语句;而方法则是一个需要绑定特殊类型的函数。这种“拼接”的方式,让方法有了类似其他面向对象语言中类方法的作用,即某种功能和目的的实现依赖于实例化后的对象。有如下参考代码:package mainimport ( "fmt")type Person struct { Name string Age int}

2022-04-08 18:00:58 205

原创 后端技术面试38讲 笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结1 软件的基础原理1 程序运行原理:程序是如何运行又是如何崩溃的?不管是文本格式的代码还是可执行的代码,都被称为程序,程序是静态的,安静地呆在磁盘上,什么也干不了。要想让程序处理数据,完成计算任务,必须把程序从外部设备加载到内存中,并在操作系统的管理调度下交给 CPU 去执行,去运行起来,才能...

2022-03-21 16:26:14 146

原创 后端技术面试38讲 笔记

极客时间 后端技术面试38讲 笔记1 软件的基础原理1 程序运行原理:程序是如何运行又是如何崩溃的?1 软件的基础原理1 程序运行原理:程序是如何运行又是如何崩溃的?不管是文本格式的代码还是可执行的代码,都被称为程序,程序是静态的,安静地呆在磁盘上,什么也干不了。要想让程序处理数据,完成计算任务,必须把程序从外部设备加载到内存中,并在操作系统的管理调度下交给 CPU 去执行,去运行起来,才能真正发挥软件的作用,程序运行起来以后,被称作进程。一台计算机如何同时处理数以百计的任务我们自己日常使用的 P

2022-03-21 16:14:35 3325

转载 负载均衡算法

负载均衡算法分类介绍现有的负载均衡算法主要分为静态和动态两类。静态负载均衡算法以固定的概率分配任务,不考虑服务器的状态信息,如轮转算法、加权轮转算法等;动态负载均衡算法以服务器的实时负载状态信息来决定任务的分配,如最小连接法、加权最小连接法等。分类1、轮询法轮询法,就是将用户的请求轮流分配给服务器,就像是挨个数数,轮流分配。这种算法比较简单,他具有绝对均衡的优点,但是也正是因为绝对均衡它必须付出很大的代价,例如它无法保证分配任务的合理性,无法根据服务器承受能力来分配任务。2、随机法随机法,是随

2022-03-07 21:17:45 979

转载 建立索引的几大原则

https://blog.csdn.net/LJFPHP/article/details/89156326html建索引的几大原则1.最左前缀匹配原则,很是重要的原则,mysql mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就中止匹配,sql 好比a = 1 and b = 2 and c > 3 and d = 4函数 若是创建(a,b,c,d)顺序的索引,d是用不到索引的,大数据 若是创建(a,

2022-01-24 20:17:10 3625

原创 高性能MySQL第三版笔记

第1章 MySQL架构与历史1.1 MySQL逻辑架构1.2 并发控制1.2.1 读写锁读共享,写互斥,写者优先读者1.2.2 锁粒度尽量只锁定需要修改的数据,而不是所有的数据。锁定的数据量越少,则系统的并发程度越高。但是加锁也需要消耗资源。锁的操作,包括获取锁,检查锁是否已经解除,释放锁等,都会增加系统的开销。所谓的锁策略,就是在锁的开销和数据的安全性之间寻求平衡,两种最重要的锁策略:表锁的行级锁。表锁:行级锁:1.3 事务事务是一组原子性的SQL查询,或者说一个独立的工作

2022-01-21 11:09:34 998

转载 Linux父子进程写时复制

重要:https://www.cnblogs.com/wuchanming/p/4495479.htmlhttps://blog.csdn.net/championhengyi/article/details/52089087

2022-01-08 10:41:02 157

原创 Linux高性能服务器编程笔记

3.1 TCP服务的特点基于字节流和基于报文段的区别:UDP协议和IP协议一样,提供不可靠服务。它们都需要上层协议来处理数据确认和超时重传。3.3 TCP连接的建立和关闭3.4.2 TIME_WAIT状态第5章 Linux网络编程基础API通用socket地址:5.2 创建socket:socket函数:参数解释:bind函数:监听socket:listenaccept**connect**接收连接:5.8 数据读写:TCP数据读写:

2022-01-02 15:48:46 1437 1

原创 visio导出高质量图片

具体操作如下,首先“ctrl+A”,然后选择“另存为”,保存类型选择“Tag图像文件格式”,接着在输出里面设置,压缩格式选为“LZW”,接着是“256色”,然后选择“打印机”,下面是“源”,然后点击确定就可以了。这样绝对是满足投稿要求的,分辨率为300dpi。或者,保存类型选择“可移植网络图型”,接着是“256色”,同样地,然后选择“打印机”,下面是“源”,然后点击确定就可以了。...

2021-12-29 20:44:47 11256

原创 ubuntu redis服务如何启动

1、设置开机自动启动,关机自动关闭sudo update-rc.d redis-server defaults2、启动Redis:sudo /etc/init.d/redis-server start3、启动client客户端连接:$ redis-cliredis> set foo barOKredis> get foo"bar"4 查看redis服务的状态,执行ps -ef|grep redis查看 或者 service redis status 命令查看状态为

2021-12-13 21:28:43 2754

原创 堆排序-golang语言实现

使用数组存储堆,节点之间的索引关系:本文从数组索引0位置开始存储若当前节点索引为i,则父节点为 (i - 1) / 2两个子节点分别为: 2i + 1 , 2i + 2如下图所示:堆排序主要有两步:建堆排序(本文构建大顶堆,进行升序排序)(1) 建堆:对于完全混乱的数组,从0开始建堆,只需要从最后一个叶子节点的父节点开始往前遍历,分别执行建堆操作,即可完成堆的构建。如下图所示:(2) 排序:利用堆进行排序,每次操作将堆顶元素(保存的最大值)和最后一个元素进行交换,并对新的堆的元素进行

2021-11-27 10:30:32 682

原创 go二维切片初始化

切片在没有初始化时是不能直接使用的,因此在使用切片之前需要先进行初始化:对于一个m行,n列的二维切片: // 二维切片初始化 方法1 m, n := 3, 7 var s [][]int for i := 0; i < m; i++ { in := make([]int, n) s = append(s, in) } fmt.Println(s) // 初始化 方法2 m, n := 3, 7 s := mak

2021-11-24 10:29:08 1376

原创 go语言基础学习笔记

1 基本数据类型–整型整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64其中,uint8就是我们熟知的byte型,int16对应C语言中的short型,int64对应C语言中的long型。浮点型:Go语言支持两种浮点型数:float32和float64。byte和rune类型:uint8类型,或者叫 byte 型,代表了ASCII码的一个字符。rune类型,代表一个 UTF-8字符。当

2021-11-17 16:26:30 770

原创 vins-mono里的坐标系

vins-mono里主要涉及三个坐标系:word坐标系,body坐标系即IMU帧坐标系,cam坐标系即相机帧坐标系。对于单目系统而言,初始化时就会确定世界坐标系。首先进行纯视觉初始化(SFM):注意,这里把c0帧作为基础帧,实际上,c0帧旋转一下使gc0和gw方向一致时获得的坐标系就是vins的世界坐标系,也就是先验。https://blog.csdn.net/huanghaihui_123/article/details/103075107?spm=1001.2014.3001.5501重力所在

2021-11-16 17:32:59 3625

转载 go 数组以及slice切片

数组 Arrays数组是内置(build-in)类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值。在初始化后长度是固定的,无法修改其长度。当作为方法的入参传入时将复制一份数组而不是引用同一指针。数组的长度也是其类型的一部分,通过内置函数len(array)获取其长度。初始化数组的初始化有多种形式,查看示例代码 , 在线运行示例代码[5] int {1,2,3,4,5} 长度为5的数组,其元素值依次为:1,2,3,4,5[5] int {1,2} 长度为5的数组,其元素

2021-11-09 10:18:16 136

原创 Linux下go安装与环境配置 & VSCode配置go环境

1 首先查看linux版本,是否是64位版本,安装go时要确保安装对应版本uname -m2 安装对应go版本https://golang.google.cn/dl/3 解压安装至系统目录 下述命令解压到 /urs/local/ 目录 sudo tar -C /usr/local/ -xzvf go1.10.2.linux-amd64.tar.gz4 配置环境打开.bashrc 或 .profile 文件设置export GOROOT="/usr/local/go"export G

2021-11-06 11:40:50 2423 1

原创 计算图像方差 和 信息熵

计算图像方差:double transformimg::analyse(Mat input){ Mat imageGrey; cvtColor(input,imageGrey,CV_RGB2GRAY); Mat meanValueImage; Mat meanStdValueImage; meanStdDev(imageGrey,meanValueImage,meanStdValueImage); double meanValue = 0.0;

2021-10-19 15:38:13 845

原创 vins-fusion gps融合相关总结

1 . 简介:VINS Fusion在VINS Mono的基础上,添加了GPS等可以获取全局观测信息的传感器,使得VINS可以利用全局信息消除累计误差,进而减小闭环依赖。相比于局部传感器,全局传感器(如GPS,气压计和磁力计等)可以提供全局观测。这些传感器使用全局统一坐标系,并且输出的观测数据的方差不随时间累计而增加。但这些传感器也存在一些问题,导致无法直接用于精确定位和建图。以GPS为例,GPS数据通常不平滑,存在噪声,且输出速率低。因此,一个简单而直观的想法是将局部传感器和全局传感器结合起来,以达

2021-10-11 11:36:06 2164

原创 论文阅读笔记:PL-VINS: Real-Time Monocular Visual-Inertial SLAM with Point and Line

摘要:利用线要素来提高基于点的视觉惯性SLAM (VINS)的定位精度正在取得进展重要性,因为它们提供了场景结构规则性的附加约束,然而,其实时性能还没有被关注。本文提出了一款基于VINS-Mono的实时点线融合视觉惯性SLAM。使用改进的LSD算法提取线特征。1 介绍:VINS-Mono被公认为是非线性优化流派的视觉惯性SLAM代表作,然而,在极端情况下也会出现特征点提取不足导致跟踪精度下降甚至跟踪失败,如下图所示。最近,利用线特征提高基于点的VINS的性能收到欢迎,因为线条提供了额外的约束,例如[1

2021-09-22 20:41:27 1340

原创 Ubuntu硬盘空间用量分析工具

baobab是一个图形界面工具,可以帮助我们查找系统中哪个目录或文件占据了大量空间.在终端里运行下面的命令:baobab常见的磁盘清理方式:https://blog.csdn.net/weixin_34393428/article/details/93581393

2021-09-20 10:00:55 1988

原创 面试问题记录总结

1 项目或实习经历中有解决比较有挑战的工程实际问题吗?具体的问题?海康威视网络摄像头,视频流分帧转图像,加ros时间戳2 为什么协程比实际线程更轻量?(1)协程切换完全在用户空间进行,线程切换涉及特权模式切换,需要在内核空间完成; 不依赖操作系统和其提供的线程,golang自己实现的CSP并发模型实现:M, P, G go协程也叫用户态线程,协程之间的切换发生在用户态。在用户态没有时钟中断,系统调用等机制,因此效率高(2)协程切换相比线程切换做的事情更少。 执行go协程只需要极少的栈内存(大

2021-09-13 21:40:26 203

原创 C++使用多线程交替打印1~10

方法1:pthread库https://subingwen.cn/linux/thread-sync/#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <string.h>#include <pthread.h>#define MAX 10

2021-09-13 09:45:06 1076

原创 结构体内存对齐相关

1 为什么要做内存对齐1.平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。2.性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。2 为什么是4字节对齐因为在32位操作系统(虽然64位操作系统,但是为了保证兼容性,编程仍然主要考量32位)中,数据总线是32位,地址总线是32位。地址总线是32位,意味着寻址空间是

2021-09-11 19:37:05 56

转载 常见数据结构应用场景

转载:https://www.cnblogs.com/lz3018/p/5932198.html通用数据结构可以简单的按照速度将通用数据结构划分为:数组和链表(最慢),树(较快),哈希表(最快)。增、删、改、查是四大常见操作,不过其实可以浓缩为两个操作:增和查。删除操作和和修改操作都是建立在查找操作上的,所以完美的数据结构应该是具有较高的插入效率和查找效率。通用数据结构关系可以根据下图选择合适的通用数据结构:数组使用场景数组在以下三个情形下很有用:1)数据量较小。2)数据规模已知。3)随

2021-09-10 17:07:48 528

原创 数组实现循环队列

在用数组实现时,有以下几个地方需要注意:1、队列的长度就是数组的长度2、没有成员时,队头队尾都指向第一个位置,即下标为03、队头始终指向队列中最先进队的成员,队尾始终指向队列中最后进队的成员的后面下一个位置3、当队头与队尾的下标相同时,队列为空,因此队尾在指向第四个位置即下标为3时,就应该算队满,否则当队头下标为0时,最后一个位置即第五个位置也有成员,此时队尾下标为0,按照上面的思想应该算队列为空,与实际不符。因此队列的实际容量始终为数组容量减一。4、按照上面的思想,队头和队尾下标表示应该为(当前

2021-09-10 16:27:43 340

原创 数据结构相关细节

1 完全二叉树的顺序存储使用数组的方式:2 图的存储方式邻接矩阵:邻接表:有向图的邻接表存储:边链表只存储从当前顶点出发的3 B树 与 B+树多叉排序树:B树:平衡的多路查找树B树所有叶节点都在同一层,各子树没有高度差,绝对平衡,比平衡二叉树要求更高。B+树所有叶子结点包含了全部关键字和关键字指向记录的指针,叶节点内的关键字有序排列,叶节点之间也是有序排列,指针相连。所有非叶子节点可以看成是索引,仅包含了其子树中最大(最小)关键字的值。B+树支持顺序查找,即从

2021-09-10 11:53:31 69

原创 单链表排序:冒泡法

冒泡排序的基本思想就是对于给定的n个元素,从第一个元素开始,依次对相邻的两个元素进行比较,当前面的元素大于后面的元素时,交换其位置,进行一轮比较和换位后,n个元素中最大的数将位于第n位,然后对前(n-1)个元素进行第二轮比较,重复该过程,直到进行比较的元素只剩下一个。但是,由于单链表不能像数组那样随机存储,和数组的快排序相比较,还是有一些需要注意的细节:支点的选取,由于不能随机访问第K个元素,因此每次选择支点时可以取待排序那部分链表的头指针。遍历链表方式,由于不能从单链表的末尾向前遍历,因此使

2021-09-09 10:16:20 1814

原创 二叉排序树,平衡树,红黑树等树

1 平衡树为什么要平衡,平衡有什么用?首先平衡二叉树是特殊的二叉排序树,他的结点元素间存在着排序关系。其次相对于一般的二叉排序树,平衡二叉树的左右子树的深度差也有不超过1层的约束。这样使得平衡树是同种元素序列情况下的深度最小的二叉排序树。这可以减少二叉树元素查找的深度,从而提升平均查找效率。保证O(log2N)的时间复杂度。如果不做平衡操作,极端情况下二叉树会退化成链表,时间复杂度会退化为O(n)对于查找操作而言,二叉搜索树的时间复杂度介于O(log2N)到O(n)之间,如果退化成单链表,时间复杂

2021-09-08 21:39:04 248

原创 数字证书和数字签名

数字证书网站在使用HTTPS前,需要向CA机构申领一份数字证书,数字证书里含有证书持有者信息、公钥信息等。服务器把证书传输给浏览器,浏览器从证书里获取公钥就行了,证书就如身份证,证明“该公钥对应该网站”。而这里又有一个显而易见的问题,“证书本身的传输过程中,如何防止被篡改”?即如何证明证书本身的真实性?身份证运用了一些防伪技术,而数字证书怎么防伪呢?解决这个问题我们就接近胜利了!如何放防止数字证书被篡改?我们把证书原本的内容生成一份“签名”,比对证书内容和签名是否一致就能判别是否被篡改。这就是数字证书

2021-09-08 20:39:51 2626

转载 Nginx-基本概念和原理

https://baijiahao.baidu.com/s?id=1677770814186358219&wfr=spider&for=pc

2021-09-06 21:07:50 147

转载 mysql并发控制之快照读和当前读

上一篇简单的介绍了下MVCC(多版本并发控制)的原理,MVCC会对事物内操作的数据做多版本控制,从而实现并发环境下事物对数据写操作的阻塞不影响读操作的性能。而这个多版本控制的实现是由undo log来实现的,下面的内容将会简单的介绍下undo log的内容。mysql在事物开始操作数据之前,会先将原始数据备份到一个undo log的地方,这样做的目的有两个。第一是为了保证事物的原子性,如果事物在执行的过程中出现了某些错误,或者是用户执行了rollback的操作,mysql可以利用undo log中的备份将

2021-09-06 20:03:20 319

原创 文件系统的层次结构

2021-09-04 20:19:33 168

原创 MySQL笔记

1 条件查询执行顺序语法格式select from where执行顺序:先from 然后where,最后select

2021-09-02 11:24:15 881

空空如也

空空如也

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

TA关注的人

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