自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一寸一寸光阴

我一定要拥有的是只属于我自己的独特人生

  • 博客(238)
  • 收藏
  • 关注

原创 docker常见命令及用法

下载nginx镜像,用docker使用nginx镜像启动一个nginx应用容器,修改nginx容器默认页面为自己的页面,把修改的应用容器保存成一个新的镜像,把新的镜像发布到应用市场,让其他人能下载使用。镜像的完整名:镜像名:+tage标签名即版本号。删除镜像:docker rmi 镜像名:tag(版本)或者docker rmi 镜像id。为了让版本准确,一般建议去docker hub官网(我本地打不开)去搜索指定镜像的版本。docker rmi:docker remove image的缩写,删除一个镜像。

2025-11-18 22:42:21 292

原创 docker安装-在centos安装docker

docker默认下载镜像的地址为docker hub,该地址为国外地址连接国外比较慢,所以改成通过国内的镜像源地址下载。进入docker官网如下截图,依次到centos的docker引擎安装步骤(因为是在centos上要安装docker),在centos上执行命令先删除已安装过的docker,如果没安装过可以不用删。用yum命令先安装一个yum-utils工具类,用这个工具类去修改配置docker的下载基址源,因为docker的下载地址是连接的docker官网下载比较慢,所以要改成通过阿里云的地址下载。

2025-11-17 18:41:44 346

原创 docker安装-购买腾讯云服务器

,点击继续,输入开通时自己创建的密码,点击继续这样就连接成功了云服务器。打开腾讯云首页,登录(图一)-》微信扫码登录(图2)---》登录成功后点击控制台(图3)---》点击左上角菜单页即几条杠的按钮,打开菜单选择云服务器(图4)---》选择区域(因为假如你在北京,选择北京区域之后,访问更快一点)(图5)----》点击立即购买(图6)--》选择自定义配置-按量计费-区域-可用区-选择配置【2核、2G够用了】(图7、8、9)---》选择centos镜像(图10)--》点击下一步(图11)

2025-11-11 21:02:05 225

原创 docker架构与容器化

好像一个容器可以启动多个应用吗??那还用的着应用隔离吗?容器就像集装箱一样有应用运行的环境,应用怎么启动起来-----》是通过docker的后台进程运行应用对应的镜像,进而促使应用运行起来,而容器又没有像虚拟机一样完整的操作系统所以轻量。

2025-11-08 01:22:03 854

原创 k8s部署dashboard ui管理平台

实际是一个项目,听说是中国人写的,放在kubernets目录下,可以用k8s容器化的方式运行,即把该ui界面当成一个docker容器镜像,运行在k8s的pod里边,注意虽然该项目是一个web界面,但是也不是运行的tomcat镜像,而是直接运行的该项目的镜像。如下第2张图的yaml文件应该就是该web管理项目经过空运行测试生成的yaml文件,当k8s应用apply -f 该ui管理平台yaml文件时,该ui管理平台项目就以容器化方式运行。

2025-11-06 00:15:34 765

原创 k8s-部署springboot容器化应用

服务器上上传jdk软件安装包,制作dockerfile文件(实际不太清楚,难道直接cat个文件就行了???),感觉这个docker文件中的内容就是在当前服务器下安装jdk的过程。

2025-11-03 23:13:00 1053 1

原创 k8s部署容器化应用-tomcat

(3)删除deploy、pod(不用删除service,因为还没暴露端口,此时还没tomcat服务,可以通过kubectl get services查询一下有没有tomcat服务,如果有删除就行,没有就不用动),重新在master节点执行kubectl create deployment tomcat --image=tomcat,执行完之后发现还是没有解决,还是这个问题,视频老师换了一套环境。好找工作吗,各位老铁,好想认识大厂程序员。

2025-10-24 17:03:06 489

原创 k8s部署容器化应用-nginx2

kubectl create deployment nginx --image=nginx nginx版本,如kubectl create deployment nginx --image=nginx latest,拉取nginx最新版本的镜像,创建nginx名称的控制器,再通过控制器启动pod,而Pod里边运行的是nginx容器镜像,deploy、pod和nginx镜像啥的都运行在工作空间(应该)master或node节点所在服务器的内存至少2G,处理器个数即cpu核数>=2。好找工作吗,各位老铁。

2025-10-23 16:17:07 385

原创 k8s部署容器化应用的步骤

部署容器docker的平台。

2025-10-21 16:59:07 208

原创 k8s部署容器化应用-nginx

kubectl连接k8s集群,create deploymnet 创建一个控制器,nginx表示创建的控制器名称,--image=nginx表示拉取nginx镜像,连接起来就是拉取nginx镜像并运行起来,然后创建一个nginx名称的pod把nginx镜像部署到pod,即pod里会有nginx的docker容器,所以可以在执行完命令后通过查询创建的pod的运行情况来确定是否正确执行完成命令。k8s运行的都是docker容器,所以要先把应用都放到docker里。好找工作吗,各位老铁。制作镜像+执行部署命令。

2025-10-21 15:55:15 526

原创 k8s集群-节点间通信之安装kube-flannel插件

上文中说到了k8s集群中安装了master132节点,然后又把133服务器一个工作节点加入到了master节点所在的k8s集群中,但是2个节点之间还没有进行网络通信,所以k8s集群中2个节点的状态显示NOT READY,现在要安装插件让2个节点之间实现网络通信。下载失败了可以多执行几次命令尝试多下载几次,或者把别人已经下载好的插件文件kube-flannel.ym通过rz命令传到master节点所在服务器。好找工作吗,各位老铁。如下执行命令后出现各个created表示安装插件成功。

2025-10-21 14:43:05 335

原创 k8s安装-kubeadm join,将工作节点加入k8s集群

把该工作节点node加入到master节点所在集群后,在master用kubectl工具查询k8s集群现在有几个节点,kubectl get nodes,工作节点的node的角色不显示只显示None,此时master节点和Node节点还没有进行网络通信,所以2个节点的STATUS状态为NOT READY,AGE表示节点运行的时长,在如下截图中master节点13min表示运行了13分钟,node节点133中的88s表示节点运行了88s。好找工作吗,各位老铁。

2025-10-20 15:47:19 405

原创 k8s安装-kubeadm init初始化master节点环境

用已经安装的kubeadm工具来初始化k8s集群环境,所以使用kubeadm init初始化命令,指定apiserver组件的通知地址,因为初始化的master主节点的环境,所以通知地址用主节点的ip地址,视频里主节点用的虚拟机ip地址是192.168.172.132,指定镜像仓库地址(用来下载各种组件使用的镜像地址,视频上指定的是阿里的源,如果不指定默认使用的是谷歌的源,谷歌在国内不能访问,所以要指定,或者翻墙。有一些网络设置或者主从虚拟机名称啥的视频中没讲,这个可能自己要配置一下。

2025-10-14 17:56:59 375

原创 k8s具体安装步骤

。。。。。。。。。。。感觉自己快到了没救的边缘,现在好找工作吗。老铁们。。。。。。

2025-10-14 16:42:53 208

原创 k8s环境搭建

3.kubeadm:可以用到生产环境,2个命令kubeadm init和kubeadm join可以搭建环境---》初学建议。5.yum安装:就是在Linux服务器上安装yum,再使用yum命令安装各个组件,类似于4中的二进制包安装,不太推荐。1.minikube:只能学习使用,在生产上不能使用,可以本地安装软件或者访问网址,不用学。6.第3方工具:一些大神封装了安装工具,直接使用安装工具安装k8s简化了k8s的安装步骤。2.kind:只能学习使用,在生产上不能使用,可以本地安装软件或者访问网址,不用学。

2025-10-09 16:52:35 139

原创 k8s架构组件

部署一个k8s环境至少需要2台服务器,master+node节点(master和node节点也可以部署到一台机器上,即一个k8s环境也可用1台机器,但是在一台机器上要安装的东西太多,所以把master和node节点的环境分开到2太服务器上安装),node节点可以部署多个,,如果Master节点要高可用的话也要部署2个以上,这种master和node多个节点的才叫k8s集群,单master+单node是k8s架构不是k8s集群。换了一个视频学习,看看能不能看懂。管理docker容器,k8s也是一个软件。

2025-10-09 16:36:22 185

原创 k8s介绍和特性

如下节点1和节点2,节点1上是多个订单服务,节点2上是多个购物车服务(不能节点1是订单+购物车服务吗?2.自动修复:容器失败,对容器进行重启。当所部署的Node节点有问题时,一般节点是集群形式,会让容器重新调度另外一个没有问题的节点,如果容器没有通过健康检查,会关闭该容器直到容器正常运行,才会对外提供服务。一个应用加了功能即应用发生变化,当更新的服务启动时并没有把老服务马上替换掉,而是k8s检查了当前更新的应用没有问题时,才把新的应用进行对外提供服务,即新的应用才会替代老应用,估摸是这样的吧?

2025-10-09 16:00:43 271

原创 3.3.2_2栈在表达式求值中的应用

注意每次执行运算的时候都有先后顺序的,所以执行的运算加了括号?中缀表达式转后缀表达式之后,操作数的前后相对顺序是不会改变的,如中缀中A在B的前边,转成后缀之后A还是会在B的前边,如下中缀中操作数顺序是ABCDEF,在后缀表达式中操作数的顺序还是ABCDEF,在中缀表达式中标出运算符的前后生效顺序序号,在后缀表达式中这些运算符实际生效的顺序和中缀表达式中的标出的序号是一致的,如下中缀中运算符的序号是14235,即运算符的相对顺序是+、*、/、-、+,在后缀表达式中可看到运算符的出现顺序就是这个。

2025-08-07 22:51:25 581

原创 3.3.2_1栈在表达式求值中的应用(上)

如下A+B-C*D/E+F,一般不使用左优先原则会先算乘除再算加减,顺序就变成C*D /E A+B - +F,如果使用左优先原则,左边的A+B运算符能先计算,则先算A+B,然后是-C*D,左边的减法不能算,则算C*D,算完C*D左边的减法依然不能先算则要算/E,然后现在变成A+B之后的值的减法再+F,左边减法可以先算,则先算减法,最后算+F,如下转成后缀表达式之后,后缀表达式的运算符号的顺序和中缀表达式转成后缀的标号顺序相同。只要左边的运算符能先计算,就优先算左边的。

2025-08-07 20:01:12 325

原创 接口幂等性

如SELECT查询操作,想查某个数据,假如这个数据就在那固定不变,不管select查多少次结果都一样,UPDATE更新某条数据的某个字段的值为aaa,因为只是更新该数据某个字段的值为aaa则不管操作更新多少次,这条数据的最后更新结果都一样,DELETE根据ID删除某条数据,因为是根据ID删除所以不管操作删除多少次,最后的结果都是把该id数据删了,它也不会删除别的数据,INSERT根据ID主键插入数据,因为主键唯一,所以不管操作多少次,最多只能插入一条该ID数据,因为其他次操作数据会因为主键冲突插入失败。

2025-08-01 20:59:16 947

原创 8.2.3希尔排序

一个叫希尔的人发明的排序所以叫希尔排序。是插入排序的优化,插入排序的时间复杂度主要来自于比较+移动的次数,假如开始是一个有序/基本有序的序列,则移动的次数会减少,则插入排序的时间复杂度会降低,所以希尔排序是先追求表中元素部分有序,再逐渐逼近全局有序的过程把表里的元素拆分成一个个子表,每一趟处理中设置增量d,相距距离为d的元素会被看成是一个子表,把子表里的元素会进行直接插入排序第一趟排序。设置d1=元素总数/2=8/2=4,相距距离为d1的元素都是子表元素,如1号位的49相距距离为4的元素是1+4=5号位的7

2025-07-10 21:13:40 555

原创 8.2.1+8.2.2插入排序

当前元素Index为i=11,用A[0]记录当前位置元素防止被覆盖A[0]=A[11]=10,上同经过一系列处理,high最终停在0号位,low停在1号位,low>high折半查找停止,此时[low,i-1]即[1,10]范围内的元素都比当前元素大,则该范围内的元素都要右移一位,给10腾出一个位置,最右边的元素占了A[i]的位置,然后A[low]位置被腾出,再把A[0]保存的当前元素复制到腾出的位置A[low]=A[1]=A[0]=10。),则可以使用折半查找。

2025-07-06 21:02:44 869

原创 8.4.2_2堆的插入删除

删除元素13所在位置为2号位,2号位左右子树为4号位17和5号位45选更小的4号位17(比较1次),46和17比较根节点46>17交换(比较2次),此时46在4号位继续下坠,4号位左右子树为8号位53和9号位32选更小的9号位32(比较3次),46和32比较根节点46>32交换(比较4次),此时46在9号位继续下坠,9号位左右子树为18号位和19号位>len=9,即9号位没有子树了下坠不了了,删除调整结束。如下所示要在小根堆里插入元素46,首先把新元素46放到表尾即10号位,逻辑视角的小顶堆的堆底。

2025-07-06 17:48:11 264

原创 8.4.2_1堆排序

从内存/物理视角看是连续存放的数组,但是从逻辑上来看是一个顺序存储的完全二叉树。

2025-07-06 16:52:15 675

原创 8.5_2基数排序

长度为n的线性表:即长度为n的待排序无序序列,

2025-07-05 21:05:54 844

原创 8.5_1归并排序

把两个或多个有序序列合并成1个定义3个指针i、j、k,i指向有序序列1当前值,j指向有序序列2当前值,i和j比较大小,小的放在k所指位置上,再让k指针右移和值小的i或j右移第一轮,i=12,j=7,i>j,把7放在k所指位置,k右移,j右移指向10第二轮,i=12,j=10,i>j,把10放在k所指位置,k右移,j右移指向21第三轮,i=12,j=21,i<j,把12放在k所指位置,k右移,i右移指向16第4轮,i=16,j=21,i<j,把16放在k所指位置,k右移,i右移指向24。

2025-07-02 21:14:41 696

原创 4.2_1朴素模式匹配算法

主串:想从该串获取结果的串模式串:想搜索的内容,不一定在主串中能搜到,子串一定能在主串中搜到字符串模式匹配:在主串找模式串并返回找到的第一个模式串所在位置。

2025-06-26 21:41:00 793

原创 4.1_2串的存储结构

subString(),Sub是空串用来返回目标子串,S为原串,pos截取子串的初始索引下标(因为char[0]的第一个位置没用,所以索引下标==位序)不包括该下标元素,len为截取长度,如pos=5,len=2,即截取如下主串中的下标为6-7字符,即截取a和o,把截取的每个字符依次放到Sub结构体中的ch[]数组里,注意数组下标越界问题,即pos+len<S主串长度,比如pos=5,len=7,则从下标为5开始几d字符开始,截取7个字符,很明显主串中下标为5之后没有7个字符,即数组下标越界。

2025-06-26 20:29:59 949

原创 4.1_1串的定义和基本操作

跟java中的一样,不过子串或者字符在字符串中的位置是从1开始而不是从0开始。空串也是字符串的子串,空串长度为0子串在字符串中的位置为子串的第一个字符在字符串中的位置每个空格字符占1B。

2025-06-25 21:16:36 266

原创 7.5.4散列查找的性能分析

就是扎堆,一个接一个放,都把位置占满了,新元素只能从头走到尾放在最后一个元素,则新元素插入和查找的效率都低,如果不扎堆,即中间有空单元,那查找一个不存在的元素所经历的查找长度就短了,即ASL变小。即1号位上的元素为14,则比较1次查找长度为1,插入元素1时,初始散列地址为1号位,1号位已有元素14,则找下一个空闲冲突散列地址2号位即把1存储在2号位,在查找时,先查找初始散列地址1号位上的14不相等,根据探测序列查找下一个冲突散列地址2号位,1==1即比较次数2次,查找长度为2,,剩下地依次类推。

2025-06-25 20:32:24 648

原创 7.5.3_2处理冲突的方法-开放定址法

新元素可以插入到已经被逻辑删除的元素的位置,但是在查找的时候还要经过这些元素,比如如下图假如目标元素1前边的冲突散列地址上的元素都已经被逻辑删除了,但是还要从第一个冲突散列地址上开始查找目标元素1,则效率低下,即散列表看起来很满,但是实际很空,所以为了提高效率,则建议定期清理数据,即把已经逻辑删除的元素全都真正物理删除,然后把实际还存储在散列表中的数据根据要求的探测序列再重新放到该放的位置上,则散列表在查找的时候就不用再经过逻辑删除元素了。

2025-06-24 21:30:37 919

原创 7.4.2B+树

磁盘是一个慢速设备,每次要读取磁盘块数据都会花费大量时间,因此假如B+树高度越高就意味着在读取磁盘的过程中读取次数越多,导致查找速度更慢,如何降低B+树高度,即让B+树节点存储更多的关键字,即这也是为什么B+树上的非叶子节点不存储实际的记录地址了,这样能节省更多的空间来存储关键字,并且这些一个个节点是存储在每个磁盘块中,而每个磁盘块大小基本固定如1kb,而让每个磁盘块包含尽可能多的关键字的信息,当节点的空间大了则每个节点存储的关键字就多了,则磁盘上就包含了尽可能多的关键字信息了。

2025-06-23 20:57:40 866

原创 7.4.1_2B树的插入删除

假如是m阶B树,插入关键字时都要满足每个节点上的关键字个数最少为m/2向上取整-1关键字,最多有m-1个关键字,且每次插入的新元素一定是放在最底层的终端节点(因为如果不是放在终端节点,会导致该节点上可能有叶子节点,则就不满足B树的叶子节点一定在最下层的特性了)如下例子是5阶B树即m=5,则每个节点的关键字个数满足2<=n<=4先插入25关键字,然后插入38,38>25,则插入在25的后边,插入49关键字,49>38,49放在38的后边,插入60,60>49,60放在49的后面,以上插入元素节点上的关键字个数

2025-06-22 21:31:33 1109

原创 7.4.1_1B树

设k=m/2向上取整第一层1个节点,1个关键字第2层2个节点,2(k-1)个关键字(因为除了根节点之外,每个节点的关键字个数至少为k-1,每个节点的分支/子树节点至少为k)第3层2K个节点,2k(k-1)个关键字(因为除了根节点之外,每个节点的关键字个数至少为k-1)第4层2K²个节点,2K²(k-1)个关键字(因为除了根节点之外,每个节点的关键字个数至少为k-1)........

2025-06-22 17:42:53 811

原创 7.5.3_1处理冲突的方法-拉链法

散列表中头插法插入元素时,每次插入的元素都是无序的,导致在散列表查找元素时,只能顺序的在链表一个一个元素挨个比较,效率低,则在链表插入时可以比较元素大小,让链表插入的时候保持一个有序的状态,根据大小把元素插入到链表对应位置,即在插入时也排序,则在查找时效率会高一些。如查找目标元素66,由散列函数计算出的散列地址为1,从1对应上的链表从头开始顺序查找,先比较79,不相等继续比较27,不相等继续比较1,不相等继续比较14,链表上的元素比较完了也没找到66,则查找失败,关键字比较次数4次,查找长度=4。

2025-06-22 15:19:26 304

原创 7.5.2散列函数的构造

(注意分布均匀不是指这几个数码位相同,而是指不同吧,即出现的概率相同),如下手机号例子,前三位是固定的运营商,中间4位是区号,即前7位数字出现都受到影响,剩下4位每个人的手机号各不相同,跟运营商和区号无关,即末尾4位就是0-9数字的任意组合,末尾4位出现的概率相同,即分布均匀,则可用末尾4位散列地址,末尾4位则要设计10000个地址,即散列表长度为0-9999,则把4位出现的数字直接对应到散列表的地址中就行,如手机尾号为2875的手机号直接放到散列表2875的地址上就行。与质数相反的是合数(如4)。

2025-06-22 14:43:58 309

原创 7.5.1散列表的基本概念

如下例子:散列表长度为13,给出散列函数H(key)=key%13,即数据元素在散列表存储位置的计算方式是数据元素对13取余,一组数据元素19,14,23插入散列表,19在散列表存储位置=H(19)=19%13=6,即19存储在散列表位置为6的位置,14在散列表存储位置=H(14)=14%13=1,14存储在散列表1的位置,H(23)=23%13=10,即23存储在散列表10的位置。冲突:在散列表插入数据元素时,根据散列函数计算出的应存在散列表的地址上已经有了其他元素,这种情况就叫冲突或碰撞。

2025-06-22 13:56:57 189

原创 7.3.3_3红黑树的删除

和平衡二叉树、二叉排序树删除同,但是删除节点后可能会破坏红黑树红黑特性,所以可能要调整节点的颜色位置使其再满足红黑树特性。又水一篇,也不知道考不考。

2025-06-22 12:45:19 151

原创 7.3.3_2红黑树的插入

1.确定先插入哪个节点位置(因为要满足二叉排序树性质左<根<右)2.插入完之后破坏平衡,要调整平衡-》调整平衡步骤为先找最小不平衡子树,再去看属于4种情况的哪种情况进行调整。。。。。。。1.先根据二叉排序树(左<根<右)确定要插入要新节点的位置,插入新节点2.根据新节点的位置对新节点染色。如果新节点的位置是根,则染为黑色,不是根染为红色(这个是因为要满足红黑树黑路同的特性,如果开始只有只有根节点A节点,然后在A的左子树插入了B节点,如果B节点是黑节点,则A从左子树到叶子节点的路径上包含的黑节点现在是2个,A

2025-06-22 12:36:47 883

原创 7.3.3_1红黑树的定义和性质

红黑树是二叉排序树的一种优化,则红黑树有二叉排序树BST的特性,即节点值左子树<根节点<右子树(左<中<右) ,每个节点上除了有左子孩子指针外,还有节点的颜色color1.红黑树的节点的颜色要么是黑色要么是红色2.红黑树中的叶节点一般指的是查找失败的节点,叶节点又叫NULL空节点或者外部节点,注意不是最下层的节点,二叉排序树中的查找失败的节点也是NULL节点即不存在的节点,根节点和叶节点一定都是黑色的节点。

2025-06-21 20:01:21 555

空空如也

空空如也

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

TA关注的人

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