自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TCP粘包

接收方引起的粘包是由于接收方用户进程不及时接收数据,从而导致粘包现象。这是因为接收方先把收到的数据放在系统接收缓冲区,用户进程从该缓冲区取数据,若下一包数据到达时前一包数据尚未被用户进程取走,则下一包数据放到系统接收缓冲区时就接到前一包数据之后,而用户进程根据预先设定的缓冲区大小从系统接收缓冲区取数据,这样就一次取到了多包数据。(2)第二种方法只能减少出现粘包的可能性,但并不能完全避免粘包,当发送频率较高时,或由于网络突发可能使某个时间段数据包到达接收方较快,接收方还是有可能来不及接收,从而导致粘包。

2024-12-10 00:11:28 285

原创 HTTP版本的对比

在 HTTP1 中浏览器限制了同一个域名下的请求数量(Chrome 下一般是六个),当在请求很多资源的时候,由于队头阻塞当浏览器达到最大请求数量时,剩余的资源需等待当前的六个请求完成后才能发起请求。HTTP1.0规定浏览器和服务器保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器处理完成后立即断开TCP连接(无连接),服务器不跟踪每个客户端也不记录过去的请求(无状态)多路复用可以绕过浏览器限制同一个域名下的请求数量的问题,进而提高了网页的性能。是一种无状态、无连接的应用层协议。

2024-12-10 00:10:56 267

原创 JVM基础

基于栈的指令集架构基于寄存器的指令集架构。

2024-12-08 01:00:00 1837

原创 redis中list类型

redis对键表的结构支持使得它在键值存储的世界中独树一帜,一个列表结构可以有序地存储多个字符串,拥有例如:lpush lpop rpush rpop等等操作命令。在redis3.2版本之后,重新引入了一个quicklist的数据结构,列表的底层都是由quicklist实现的,它结合了ziplist和linkedlist的优点。从存于 key 的列表里移除前 count 次出现的值为 value 的元素。list-max-ziplist-size 表示每个quicklistNode的字节大小。

2024-12-07 22:45:00 1397

原创 redis字符串类型

而在Redis中,当SDS API需要对SDS进行修改时,API会先检查SDS的空间是否满足修改所需的要求,如果不满足的话,API会自动将SDS的空间扩展至执行修改所需的大小,然后才执行实际的修改操作,所以使用SDS既不需要手动修改SDS的空间大小,也不会出现前面所说的缓冲区溢出问题。C字符串并不记录自身的长度信息,所以为了获取一个C字符串的长度,程序必须遍历整个字符串,对遇到的每个字符进行计数,知道遇到代表字符串结尾的空字符为止,这个操作的复杂度为O(N)。比如jpg图片或者序列化的对象。

2024-12-07 06:00:00 1727

原创 redis关于key的相关命令

文章目录Redis 键(key)相关命令命令Redis 键(key)相关命令命令查看当前库所有keykeys *判断某个key是否存在exists key查看你的key是什么类型type key删除指定的key数据del key根据value选择非阻塞删除unlink key 仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。时间复杂度: O(1)每个键被删除而不管其大小。然后,命令O(N)在另一个线程中工作以回收内存,其中N是分配组成的已删除对象

2024-12-06 23:00:00 397

原创 redis基础

t,注意它是链表而不是数组。这意味着 list 的插入和删除操作非常快,时间复杂度为 O(1),但是索引定位很慢,时间复杂度为 O(n),这点让人非常意外。内部实现结构上同 Java 的 HashMap 也是一致的,同样的数组 + 链表二维结构。,它内部的键值对是无序的唯一的。它的内部实现相当于一个特殊的字典,字典中所有的 value 都是一个值NULL。,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权重。

2024-12-06 06:00:00 396

原创 jwt结构

JWT可以使用秘钥(使用HMAC算法或使用RSA或ECDSA的公钥/私钥对进行签名)。此信息是经过数字签名的,因此可以验证和信任。对于已签名的令牌,这些信息虽然受到保护,不会被篡改,但任何人都可以读取。registered claims:预定义的声明,例如iss、exp、sub、aud等。一般包含两个组成部分:token的类型(JWT),签名算法。签名可以验证在发送过程中消息没有被篡改,在使用私钥进行签名的情况还可以验证消息的发送者。public claims:使用jwt的人进行定义。

2024-12-05 23:00:00 218

原创 java中的容器框架

LinkedHashSet:具有HashSet的查找效率,内部双向链表维护元素的插入顺序。LinkedHashMap:双向链表维护元素的顺序,顺序为插入顺序或者最近最少使用的顺序。LinkedList: 双向链表实现,只能顺序访问,可快速增加删除元素。TreeSet:红黑树实现,支持有序操作,查找性能是O(logN)HashSet:哈希表实现,支持快速查找,不支持有序性操作。ArrayList:基于动态数组实现,支持随机访问。HashTable:线程安全的HashMap。降低设计和实现相关的API的难度。

2024-12-05 05:00:00 501

原创 Aop基础

AOP面向切面编程,本质利用动态代理。动态代理实现方式: JDK代理,CGlib代理切面(Aspect): 封装横切点逻辑(Advice)和横切点作用范围(PointCut)。切入点(PointCut): 限定横切逻辑作用范围的谓语限定式,核心为切点表达式。通知(Advice): 具体横切逻辑。以拦截器的方式实现,并维护以连接点为中心的拦截器链。连接点(JointPoint): 横切逻辑执行时所关联的点。

2024-12-04 13:25:23 729

原创 nmap简单使用介绍

sP-sn-sP-PE-PP-PM-Pn-sS-sT-PU-sU-p-sV-O-A-T0 至 -T5--script。

2024-12-04 13:23:16 574

原创 Linux相关知识点

初次发文,大家多多回访。

2024-12-03 05:46:20 732 2

原创 进程通信方式

欢迎访问我的主页。

2024-12-03 05:43:51 613

空空如也

空空如也

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

TA关注的人

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