自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 资源 (1)
  • 收藏
  • 关注

原创 SpringMVC复习总结

文章目录SpringMVC简介创建带注解的SpringMVC程序SpringMVC简介SpringMVC 也叫 Spring web mvc。作为 Spring 框架一部分,能够使用Spring 的 IoC 和 Aop。SpringMVC 强化注解的使用,在控制器、Service、Dao 都可以使用注解,方便灵活。创建带注解的SpringMVC程序1、创建maven web项目...

2022-03-13 20:06:12 1038

原创 Servlet、监听器、过滤器总结复习

文章目录什么是ServletServlet的生命周期生命周期方法执行流程Servlet的特点Web 容器中的两个 MapServletConfigServletConfig 中的方法ServletContextServletContext 中的方法欢迎页面设置HttpServletHttpServletRequest请求的生命周期HttpServletRequest常用方法中文乱码问题文章素材来自老杜的课程什么是Servlet宏观地讲,Servlet 是连接 Web 服务器与服务端 Java 程序

2022-03-12 20:51:03 2215

原创 Srping复习总结

Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring 的核心是控制反转(IoC)和面向切面编程(AOP)。Spring 是可以在 Java SE/EE 中使用的轻量级开源框架

2022-03-06 21:25:45 375 1

原创 ES6新特性学习笔记

不存在变量提升不影响作用域链2.const关键字const关键字总结:4.模板字符串模板字符串总结:6.箭头函数箭头函数总结:8.rest参数rest参数总结:10.Symbol数据类型ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。对象添加Symbol类型的属性11.迭代器ES6 创造了一种新的遍历命令 for…of 循环,Iterator 接口主要供 for…of 消费原生具备 iterator 接口的数据(可用 f...

2022-07-12 22:58:17 562 1

原创 vue2+vue3天禹老师版复习笔记

Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。......

2022-07-12 22:56:34 3555 3

原创 严蔚敏C语言无向图BFS和DFS代码实现

严蔚敏C语言无向图BFS和DFS完整代码实现

2022-05-23 14:23:23 1058 1

原创 Linux设置静态IP

1、编辑 /etc/sysconfig/network-scripts/目录下的ifcfg-ens33文件vim /etc/sysconfig/network-scripts/ifcfg-ens33注意:ifcfg-ens33文件在不同版本的Linux中名字可能不同2、在ifcfg-ens33文件中编写以下内容TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static" #使用静态IPIPADDR

2022-04-25 23:45:00 488

原创 MongoDB基本操作

文章目录1.数据库操作2.集合操作3.文档操作4.SpringBoot集成MongoDB4.1.基于MongoTemplate 的CRUD4.2.基于MongoRepository的CRUDMongoDB中文文档SQL术语MongoDB术语说明databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档columnfield数据字段/域indexindex索引table

2022-04-25 20:35:00 1010

原创 Git常用命令

文章目录Git全局设置获取Git仓库Git相关概念本地仓库命令远程仓库命令分支操作命令标签操作命令IDEA集成GitGit全局设置设置用户名称:git config --global user.name "why"设置用户邮箱:git config --global user.mail "3463085853@qq.com"查看配置信息:git config --list获取Git仓库获取Git仓库的方式有两种在本地初始化仓库1.在任意目录下创建文件夹作为本地仓库2.进入这个文件:

2022-04-24 20:45:50 345

原创 ElasticSearch——DSL查询及结果处理

文章目录1.DSL查询语法1.1.DSL查询分类和基本语法1.2.全文检索1.3.精确查询1.DSL查询语法1.1.DSL查询分类和基本语法常见的查询类型包括:查询类型描述查询所有查询出所有数据 例如:match_all全文检索查询利用分词器对用户输入内容分词,然后去倒排索引库中匹配。例如:match_query 、 multi_match_query精确查询根据精确词条值查找数据,一般是查找keyword、数值、日期、boolean等类型字段。例如:ids、r

2022-04-11 19:16:15 2162

原创 ElasticSearch基本操作

文章目录1.ElasticSearch 简介2.索引库操作2.1.mapping 属性2.2.索引库CRUD3.文档操作3.1.新增文档1.ElasticSearch 简介Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。可以帮助我们从海量数据中快速找到需要的内容。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用

2022-04-10 20:03:53 3503 3

原创 Docker部署ElasticSearch

一、创建网路docker network create es-net二、拉取镜像DockerHub地址docker pull elasticsearch:7.12.1三、运行容器docker run -d \ --name es \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ -e "discovery.type=single-node" \ -v es-data:/usr/share/elasticsearch/data \

2022-04-10 06:00:00 928

原创 RabbitMQ入门案例

MQ(message queue),本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。RabbitMQ 是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑 RabbitMQ 是一个快递站,一个

2022-04-09 13:34:31 2363 1

原创 Docker常见命令

文章目录帮助命令镜像命令容器命令数据卷命令自定义镜像Docker Compose搭建Docker镜像仓库帮助命令Docker官方帮助文档命令说明docker version显示 docker 的版本信息docker ifno显示 docker 的系统信息docker --help查看 docker 所有命令docker [命令] --help查看命令的作用镜像命令Docker镜像(Image)就是一个只读的模板。将应用程序及其依赖、环境、配

2022-04-05 20:32:50 1508

原创 Linux安装Docker指南

文章目录Docker安装一、卸载旧版本二、安装yum工具三、设置本地镜像源四、安装Docker五、关闭防火墙六、启动Docker七、配置镜像加速Docker安装Docker官方安装教程点击右侧 Installation per distro可选择不同发行版本Linux安装Docker的教程我安装的Linux发行版本是CentOS一、卸载旧版本如果之前安装过旧版本的Docker先执行下面的命令卸载旧版本Docker, \ 表示命令拼接 sudo yum remove docker \

2022-04-04 16:43:46 175

原创 Gateway网关初步使用

文章目录Gateway简介网关的功能搭建Gateway网关路由断言工厂路由过滤器全局过滤器过滤器执行顺序跨域问题处理Gateway简介Gateway是Spring Cloud中的网关组件,Spring Cloud Gateway旨在提供一种简单而有效的方式来路由到API。Spring Cloud 在1.x版本中都是使用Zuul网关,但在2.x版本中使用Gateway替代了Zuul。Zuul是基于Servlet的实现,属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的We

2022-04-04 14:11:44 1417 1

原创 Feign学习笔记

文章目录Feign简介Feign基本使用自定义Feign的配置Feign性能优化Feign最佳实践Feign简介Feign是一个声明式的http客户端,其作用就是帮助我们优雅的实现http请求的发送,它让微服务之间的调用变得更简单。Feign基本使用一、引入依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-ope

2022-04-03 20:39:20 647

原创 Nacos学习笔记

文章目录初识Nacos服务注册与发现启动NacosNacos集群NacosRule负载均衡Nacos环境隔离修改命名空间Nacos和Eureka的对比初识Nacos服务注册与发现我在这篇文章中已经写好了服务消费者和服务提供者给服务提供者和服务消费添加依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos

2022-04-03 15:04:14 685

原创 Nacos安装指南

文章目录下载NacosWindows安装解压配置端口启动Nacos访问Linux安装安装JDK上传压缩包解压端口配置启动开放防火墙端口访问下载NacosNacos官网NacosGithub地址进入NacosGithub地址点击右侧Releasezip是Windows版tar.gz是Linux版Windows安装解压将下载好的zip压缩包解压配置端口点击安装目录下的conf文件夹里面的application.properties如果端口冲突可以在这修改启动Nacos进入到

2022-04-02 22:15:00 2074

原创 Ribbon负载均衡策略

文章目录Ribbon简介Ribbon原理Ribbon负载均衡策略修改Ribbon负载均衡策略第一种方式第二种方式饥饿加载本文素材来自Ribbon简介Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Ribbon原理1、服务消费者发起请求2、LoadBalancerInterceptor拦截器拦截请求

2022-04-02 20:34:32 940

原创 Eureka——服务注册与发现

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。Eureka包含两个组件:Eureka Server和Eureka Client:- Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。- Eureka Client是一个ja

2022-04-02 00:15:00 1112

原创 Nginx学习笔记

Nginx 是一个高性能的HTTP和反向代理web服务器Nignx的主要应用- 反向代理 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据,再返回的客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器的地址,隐藏了真实服务器IP地址- 负载均衡单个服务器无法解决访问量过于庞大来的的问题,我们通过增加服务器数量,然后将请求分发到各个服务器上,将原先的请求集中到单个服务器的

2022-04-01 19:30:00 853

原创 Linux系统安装Nginx指南

文章目录下载Nignx安装包安装前准备上传安装包上传到Linux解压开放防火墙端口启动Nignx服务关于403Forbodden下载Nignx安装包Nginx官方网站点击右侧download选择想要下载的版本(我选择的是1.14.2)安装前准备1、gcc编译器是否安装检查是否安装:yum list installed | grep gcc安装:yum install gcc -y2、openssl库是否安装检查是否安装:yum list installed | grep op

2022-03-31 15:27:26 3191

原创 JavaSE复习总结之反射机制

文章目录反射的概念反射的工作机制获取Class的三种方式获取到Class能干什么一、实例化对象二、获取类的属性三、访问对象属性四、获取类的方法五、调用对象方法六、通过反射机制调用构造方法实例化java对象七、获取父类和实现的接口资源绑定器反射的概念反射的概念是由 Smith 在 1982 年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力, 并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。反射的工作机制程序运行时,Java系统会一直对所有对象进行所谓的

2022-03-28 21:31:22 361

原创 JavaSE总复习之多线程

文章目录多线程概念实现线程的三种方式线程的生命周期线程控制问题多线程概念线程指进程中的一个执行场景每个进程是一个应用程序,都有独立的内存空间同一个进程中的线程共享其进程中的内存和资源共享的内存是堆内存和方法区内存,栈内存不共享实现线程的三种方式Java 虚拟机的主线程入口是 main 方法,用户可以自己创建线程,创建方式有三种:继承 Thread 类实现 Runnable 接口(推荐使用 Runnable 接口)实现 Callable 接口继承 Thread 类编写一个类,直

2022-03-28 15:31:18 1023

原创 队列——数据结构严蔚敏C语言版

文章目录队列的定义环形队列循环队列的基本操作链队链队的基本操作队列的定义队列(Queue):先进先出的线性表队列是仅在队尾进行插入和队头进行删除操作的线性表队头(front):线性表的表头端,即可删除端队尾(rear):线性表的表尾端,即可插入端由于这种队列存在假溢出现象,所以引入了循环链表解决假溢出想象什么是假溢出可参考这篇文章环形队列区别环形队列是满队还是空队的两种方式另设一个标志以区别队列是满队还是空队少用一个元素空间队空的条件:Q.front == Q.rear

2022-03-28 10:59:03 1329

原创 JavaSE复习总结之IO流

文章目录IO流概述IO流的分类Java中常用的流File类File类的构造方法File类常用方法文件流缓冲流转换流标准输出流数据流对象流IO流概述输入/输出处理是程序设计中非常重要的环节, 如从键盘或传感器读入数据、 从文件中读取数据或向文件中写入数据、 从网络中读取或写入数据等。 Java 把这些不同类型的输入、 输出抽象为 “流” , 所有的输入/输出以流的形式进行处理。I表示Input,O表示Output,通过IO可以完成硬盘文件的读和写。IO流的分类按照流的方向进行分类:以内存作为参照物

2022-03-27 23:00:00 989

原创 JavaSE复习总结之集合

文章目录集合概述CollectionCollection中的常用方法集合的迭代List接口ArrayListLinkedListVectorSet接口HashSetTreeSetMapMap接口中常用方法Map集合的遍历HashMapHashTableProperties集合概述集合实际上就是一个容器。可以来容纳其它类型的数据。数组其实就是一个集合。Java 集合主要有 3 种重要的类型:List:是一个有序集合,可以放重复的数据Set:是一个无序集合,不允许放重复的数据Map:是一个无序

2022-03-26 21:54:14 623

原创 设计模式之备忘录模式

备忘录模式备忘录模式(Memento Pattern)又叫快照模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。备忘录模式的主要角色如下:发起人角色(Originator):记录当前时刻的内部状态信息,提供创建备忘录和恢复备忘录数据的功能,实现其他业务功能,它可以访问备忘录里的所有信息。备忘录角色(Memento):负责存储发起人的内部状态,在需要的时候提供这些内部状态给发起人。管理者角色(Caretaker):对备

2022-03-26 19:00:00 498

原创 设计模式之迭代器模式

迭代器模式迭代器模式(Iterator Pattern)提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式主要包含以下角色:抽象聚合角色(Aggregate):定义存储、添加、删除聚合元素以及创建迭代器对象的接口。具体聚合角色(ConcreteAggregate):实现抽象聚合类,返回一个具体迭代器的实例。抽象迭代器角色(Iterator):定义访问和遍历聚合元素的接口,通常包含 hasNext()、next() 等方法。具体迭代器角色(Concretelte

2022-03-26 00:00:00 605

原创 设计模式之中介者模式

中介者模式中介者模式(Mediator Pattern)又叫调停模式,定义一个中介角色来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式包含以下主要角色:抽象中介者角色(Mediator):它是中介者的接口,提供了同事对象注册与转发同事对象信息的抽象方法。具体中介者角色(ConcreteMediator):实现中介者接口,定义一个 List 来管理同事对象,协调各个同事角色之间的交互关系,因此它依赖于同事角色。抽象同事类角色(Colleague):

2022-03-25 23:45:00 140

原创 设计模式之责任链模式

责任链模式责任链模式(Chain of Responsibility Pattern)又名职责链模式,为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。职责链模式主要包含以下角色:抽象处理者角色(Handler):定义一个处理请求的接口,包含抽象处理方法和一个后继连接。具体处理者角色(Concrete Handler):实现抽象处理者的处理方法,判断能否处理本次请求,如果可以

2022-03-25 19:45:00 502

原创 设计模式之观察者模式

观察者模式观察者模式又被称为发布订阅模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象, 这个主题对象在状态变化时会通知所有观察者对象,使它们能制动更新自己。在观察者模式中,主体是通知的发布者,它发出通知时并不需要知道谁是它的观察者,可以有任意数目的观察者订阅并接收通知。观察者模式的主要角色抽象主题(抽象被观察者):把所有观察者对象保存在集合中,提供一个接口可以增加和删除观察者具体主题角色(具体被观察者):将有关状态存入具体观察者对象,在具体主题内部的状态发生变化时,给所有

2022-03-25 11:13:36 407

原创 设计模式之命令模式

命令模式将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行存储、传递、调用、增加与管理。命令模式包含以下主要角色:抽象命令类(Command)角色: 定义命令的接口具体命令(Concrete Command)角色:实现命令接口。通常会持有接收者,并调用接收者的功能来完成命令要执行的操作。实现者/接收者(Receiver)角色:真正执行命令的对象。任何类都可能成为一个接收者,只要它能够实现命令要求实现的相应功能。调用者/请求

2022-03-24 23:45:00 152

原创 设计模式之策略模式

策略模式该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。策略模式的主要角色如下:抽象策略(Strategy)类:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。具体策略(Concrete Strategy)类:实现了抽象策略定义的接口,提供具体的算法实现或行为。环境(Context)类

2022-03-24 19:00:00 588

原创 23种设计模式之模板方法模式

文章目录模板方法模式模板方法模式的优缺点使用场景模板方法模式模板方法模式法(Template Method)定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。模板方法模式包含以下主要角色:抽象类(Abstract Class):负责给出一个算法的轮廓和骨架。它由一个模板方法和若干个基本方法构成。模板方法:定义了算法的骨架,按某种顺序调用其包含的基本方法。基本方法:是实现算法各个步骤的方法。基本方法又可以分为三种:抽象

2022-03-23 23:45:00 995

原创 23种设计模式之享元模式

文章目录享元模式享元模式的优缺点使用场景享元模式享元模式(Flyweight Pattern)运用共享技术来有效地支持大量细粒度对象地复用,它通过已经存在的对象来大幅度减少需要创建地对象地数量,避免大量相似对象的开销,从而提高系统的利用率。享元模式存在的两种状态内部状态:不会随着环境改变而改变的可共享的部分外部状态:指随着环境改变而改变的不可共享的部分享元模式主要角色:抽象享元角色(Flyweight):通常是一个接口或者抽象类,在抽象享元类中声明具体享元类的公共方法,这些方法可以向外界

2022-03-23 15:16:22 517

原创 23种设计模式之组合模式

文章目录组合模式组合模式的优缺点使用场景组合模式组合模式(Composite Pattern),又叫部分整体模式。它创建了对象组的树形结构,将对象组合成树状结构以表示整体-部分的层次关系。组合模式能让客户端以一致的方式处理个别对象以及组合对象。组合模式主要包括以下主要角色:抽象根节点(Component):定义系统各层次对象共有的方法和属性,可以预先定义一些默认行为和属性树枝结点(Composite):定义树枝结点的行为,存储子结点,组合树枝结点和叶子结点形成一个树状结构叶子结点(Leaf):叶

2022-03-22 21:46:15 301

原创 23种设计模式之外观模式

文章目录外观模式外观模式的优缺点使用场景外观模式外观模式又叫门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一的接口,外部应用不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性,外观模式包括以下主要角色:外观角色:为多个子系统对外提供一个共同的接口子系统角色:实现系统的部分功能,客户可以通过外观角色访问它【案例】小明的爷爷已经60多岁了,一个人在家生活。每次都需要打开灯、打开电视、打开空调,睡觉是

2022-03-22 19:22:11 388

原创 表达式求值——数据结构严蔚敏C语言版栈数据结构课后练习

【题目】任何一个表达式都由操作数、运算符和界限符组成的,为了叙述的简洁,在此仅讨论简单算数表达式的求值问题,这种表达式只包含加、减、乘、除4种运算符。例如:控制台输入 2*(2+3)-5+4*5控制台输出 25我们知道,算术四则运算遵循以下3条规则:1、先乘除后加减2、从左到右运算3、先括号内后括号外【思路分析】1、通过for循环索引来遍历我们输入的表达式2、如果索引处的值是数字就直接压入数字栈3、如果索引处的值是运算符分两种情况3.1、如果符号栈为空就直接入栈3.2、如果符号栈

2022-03-21 19:17:00 1960 2

Linux常用命令手写笔记

Linux常用命令手写笔记

2022-08-20

SSM+MP+BOOT.pdf

纯手写10W+字SSM+SpringBoot+MybatisPlus学习笔记

2022-08-16

基于springboot+mybatis+thymeleaf的个人blog系统

基于springboot+mybatis+thymeleaf的个人blog系统

2022-03-25

空空如也

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

TA关注的人

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