自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Geralt

知道的越多,不知道的就越多。

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

原创 Nginx的功能(能干啥)

1.正向代理例子????: 在国内无法直接访问谷歌和Youtube这些国外的网站,如果想在国内访问这些网站该怎么办呢?最简单的方式就是搞一个代理服务器,通过代理服务器来访问国外的网站,也就是我们通常说的 翻墙????。要完成这些操作,一般需要在浏览器中配置一下代理服务器的访问地址,这一步是用户可以感知到的。但是目标服务器(谷歌服务器)是无法知道真正的访问者是谁的,在他那里真实访问者就是正向代理服务器。因此,正向代理可以把客户端隐藏起来(相对于目标服务器来说)。2.反向代理客户端发送请求到反向代理

2020-11-11 00:16:37 576

原创 RabbitMQ的高级特性(一)

1、消息的可靠传递在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了消息的确认机制,用来控制消息投递的可靠性模式。消息的确认,是指生产者投递消息后,如果Broker收到消息,则会给我们生产这一个应答。生产者进行接收应答,用来确定这条消息是否正常的发送到Broker,这种方式也是消息的可靠性投递的核心保障。1.1 实现步骤第一步:在channel上开启确认模式:channel.confirmSelect()第二步:在channel

2020-11-10 00:35:06 141

原创 如何使用RabbitMQ实现延迟队列的效果--高级特性

1、延时队列1.1 什么叫延时队列?延迟队列存储的对象肯定是对应的延时消息,所谓”延时消息”是指当消息被发送以后,并不想让消费者立即拿到消息,而是等待指定时间后,消费者才拿到这个消息进行消费。举两个????:场景1:一般在淘宝上买东西,在准备付款时,这个时候如果我们取消付款,淘宝系统会生成一个未支付订单,并且会提示你如果在30分钟内依然未完成支付的话,这个订单才会自动取消,那么这个订单消息就可以发给延时队列来处理。场景2:通过手机APP控制家里的空调在凌晨2点关闭,这个控制信息可以交给延时队列

2020-11-10 00:16:09 367 1

原创 Cookie_Session 会话控制

会话控制【Cookie_Session】Cookie1. 为什么学习Cookie1.1 会话控制流程控制:控制程序的执行流程。【程序正常从上至下,从左至右的执行流程。if&for】会话控制:控制浏览器与服务器之间的会话【与浏览器有关,只要不关闭、不更换浏览器时,即为当前会话】1.2 Http协议【无状态】协议1.3 服务器无法区分不同浏览器【用户】,如果需要区分不同用户,此时使用Cookie[Session]区分不同用户。2. Cookie简介2.1 Cookie就是一小段【保

2020-08-14 23:01:22 155

原创 策略模式

策略模式策略模式属于行为模式的一种,就是一个类的行为可以在运行时,根据不同的情况使用不同的算法处理事件。栗子1:家里的智能洗衣机,一般都有多种洗衣服的模式,我们可以根据不同的需求来设定洗衣服的模式。栗子2:出去旅游,可以选择坐飞机,也可以选择坐汽车,或者自驾,这些都相当于是不同的出行策略.在代码中,如果一个类需要根据不同的条件来执行不同的算法,传统的写法是用很多if…else来做判断。但是这样代码会显得非常乱,而且难以维护。如果我们把一个个的方法封装成不同的类,然后去共同实现一个相同接口,我们在

2020-08-06 15:56:37 88

原创 Singleton Pattern

1、饿汉式这种方式下,只要类加载了,单例对象就会产生,并且唯一(final),利用类加载器解决了线程安全问题,因此,饿汉式是线程安全的。写法有两种1.1 静态常量//饿汉式单例模式1(静态常量)class Singleton{ //构造方法私有化,外部不能new这个对象,想要获得这个类的对象只能调用他的静态方法,且对象只能有一个。 private Singleton(){} //本类内部创建对象,final修饰符可以做一个优化 private final stat

2020-07-09 17:04:37 173

原创 简单工厂模式

工厂模式使用者通过一个工厂类来获取想要类的的对象,把创建类的方式封装到工厂类中,这样如果之后再需要扩展新功能,添加了新的类,使用者(客户端)代码就不需要修改,只需要在工厂类中加上相应的判断逻辑即可。需求:有一个披萨店,披萨店可以下单订购各种披萨,披萨的制作过程一般都差不多有四个步骤:准备材料(披萨不同,材料不同)–>烘焙–>切割–>打包分析:1.披萨有固定的制作过程,而且所有披萨基本上都是这四个步骤,所以我们可以写一个抽象类,把四个固定的步骤实现,然后准备材料的步骤交给具体的披萨

2020-07-09 16:46:22 84

原创 力扣--2.两数相加(链表操作)

题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。此题主要是考查链表的操作以及一些初等数学的知识。就像在纸上计算两个数相加差不多,从个位开始相加,如果上下两个数的和是两位数,就需要进位了,把两数相加结果的个位作为当前两个数相加的结果,十位上的数字需要参与下一轮的运算。public L

2020-07-06 20:58:23 258

原创 十大排序算法---冒泡排序

/*冒泡排序步骤: ①遍历整个数组,比较相邻两个位置的元素,如果前面的元素比后面的元素值大, 则交换两个元素的位置(从大到小排序相反),找出数组中最大的那个元素。 ②再以相同的方法从剩余的元素中找出最大值 ③重复第②步分析: 第一轮遍历数组,可以找出最大值,第一轮结束后,最后一个元素已经是最大值了,所以可以不用参与比较。 然后再遍历剩余元素,找出最大值,反复执行这一步 时间复杂度= O(n²)空间复杂度= O(1)*/public cla

2020-07-04 21:50:29 104

原创 HTTP中的请求消息数据格式

HTTP请求数据格式HTTP 常用的请求方式—GET和POSTHTTP中的请求数据格式总体为:请求行请求头请求空行请求体实例:1.请求行格式:请求方式 请求资源 请求协议/版本GET 虚拟路径/login.html HTTP/1.1 请求方式: HTTP中目前有9种请求方式,常用的有2种 GET: 1.请求参数在请求行中,在URL后面。 2....

2020-04-15 21:53:43 414

空空如也

空空如也

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

TA关注的人

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