会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
SevenCoding
博客园
首页
新随笔
联系
订阅
管理
2026年6月8日
select、poll、epoll 到底有什么区别?一文讲透 I/O 多路复用
摘要: 概述 同步与异步 同步: 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。此时需要调用者询问处理结果 异步: 异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时调用者来询问处理结果,被调用者通常依靠事件,回调等机制来通知调用者其返回结果。
阅读全文
posted @ 2026-06-08 09:00 程序员Seven
阅读(29)
评论(0)
推荐(0)
2026年6月5日
网页为什么越来越快?一文看懂 HTTP 的三次进化
摘要: HTTP/1.1的改进和不足 HTTP/1.1 相比 HTTP/1.0 性能上的改进: 使用长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。 支持管道(pipeline)网络传输,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,可以减少整体的响应时间 HTTP/1.1的不足
阅读全文
posted @ 2026-06-05 09:00 程序员Seven
阅读(34)
评论(0)
推荐(0)
2026年6月3日
别只会说 HTTPS 更安全:一文吃透加密、证书与 TLS 握手
摘要: 概述 HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。 HTTP 连接建立相对简单, TCP 三次握手之后便可进行 HTTP 的报文传输。而 HTT
阅读全文
posted @ 2026-06-03 09:00 程序员Seven
阅读(15)
评论(0)
推荐(0)
2026年6月1日
别只会背 200 和 404:HTTP 核心知识完整梳理
摘要: HTTP 基本概念 HTTP 是什么? HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。 「协议」:HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行
阅读全文
posted @ 2026-06-01 09:00 程序员Seven
阅读(49)
评论(0)
推荐(0)
2026年5月29日
TCP是如何进行流量控制的?
摘要: 重传机制 超时重传 重传机制的其中一个方式,就是在发送数据时,设定一个定时器,当超过指定的时间后,没有收到对方的 ACK 确认应答报文,就会重发该数据 超时触发重传存在的问题是,超时周期可能相对较长。 快速重传 快速重传不以时间为驱动,而是以数据驱动重传。 快速重传的工作方式是当收到三个相同的 AC
阅读全文
posted @ 2026-05-29 09:00 程序员Seven
阅读(13)
评论(0)
推荐(0)
2026年5月27日
TCP的三次握手和四次挥手到底是怎么个事?
摘要: TCP和UDP的区别 TCP是面向字节流、可靠、面向连接; UDP是面向数据报文段、不可靠、无连接; 可靠和不可靠: TCP通过一系列机制保证可靠性,而UDP是不可靠的 面向连接和无连接:TCP是面向连接的,通过连接管理机制,也就是三次握手和四次挥手实现。 UDP是面向数据包的 当用户消息通过 UD
阅读全文
posted @ 2026-05-27 09:00 程序员Seven
阅读(10)
评论(0)
推荐(0)
2026年5月25日
输入网址到网页显示发生了什么
摘要: 数据封装解封装 在数据传输过程中要遵循对等层次通信,每一层都与另一方对等层次进行通信 网络层-网络层、数据链路层-数据链路层。 而这些对等通信,并非直接进行的。而是由下层逐层封装来完成对等层交换数据,这就是我们数据的封装。 而解封装,就是上层需要与下层进行通信,于是逐层解封装至目标层进行通信。 这里
阅读全文
posted @ 2026-05-25 09:00 程序员Seven
阅读(23)
评论(0)
推荐(1)
2026年5月22日
两小时入门Sentinel
摘要: 前言 Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:https://sentinelguard.io/zh-cn/index.html,官方wiki: Sentinel 具有以下特征: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒
阅读全文
posted @ 2026-05-22 09:00 程序员Seven
阅读(66)
评论(0)
推荐(0)
2026年5月20日
dubbo服务调用源码
摘要: 调用过程 dubbo的服务调用方是在xml配置了类似于 <dubbo:reference interface="com.jwfy.dubbo.product.ProductService" id="productService" />的配置,意味着后续在spring中通过 getBean('prod
阅读全文
posted @ 2026-05-20 09:00 程序员Seven
阅读(159)
评论(0)
推荐(0)
2026年5月18日
dubbo服务暴露源码
摘要: Dubbo 调用图解 dubbo的调用图(来自官网),如下图,共包含了5个模块 Provider 服务提供方 Registry 服务注册中心(这里可以认为是zookeeper Consumer 服务使用方 Container 服务提供方的容器 Monitor 服务监控中心 服务调用流程 提供服务的容
阅读全文
posted @ 2026-05-18 09:00 程序员Seven
阅读(66)
评论(0)
推荐(1)
2026年5月15日
一致性Hash算法:如何实现分布式系统中的高效数据分片?
摘要: 概述 一致性hash多用于分布式数据存储场景,在集群节点数量发生变化时,提升集群适应变化的能力。 大多数网站背后肯定不是只有一台服务器提供服务,因为单机的并发量和数据量都是有限的,所以都会用多台服务器构成集群来对外提供服务。那么这些服务器需要如何分配客户端的请求呢,这个其实就是负载均衡。但是一般的负
阅读全文
posted @ 2026-05-15 09:00 程序员Seven
阅读(34)
评论(0)
推荐(0)
2026年5月13日
Paxos算法:如何解决分布式系统中的共识问题?
摘要: 背景 Paxos 算法是 Leslie Lamport莱斯利·兰伯特在 1990 年提出了一种分布式系统 共识 算法。这也是第一个被证明完备的共识算法(前提是不存在拜占庭将军问题,也就是没有恶意节点)。 为了介绍 Paxos 算法,兰伯特专门写了一篇幽默风趣的论文。在这篇论文中,他虚拟了一个叫做 P
阅读全文
posted @ 2026-05-13 09:00 程序员Seven
阅读(119)
评论(0)
推荐(0)
2026年5月11日
万字长文背诵最新Agent常见试题
摘要: 什么是大模型 Agent?它与传统的 AI 系统有什么不同? 大模型 Agent 是基于大型语言模型并结合模块化规划、记忆和工具调用的自主决策系统,它能够根据最终目标把复杂任务拆分成子任务,调用 API、检索数据库或使用插件,再通过内部循环不断优化执行流程,基本不需要人在每一步都监督。 传统 AI
阅读全文
posted @ 2026-05-11 09:00 程序员Seven
阅读(481)
评论(0)
推荐(1)
2026年5月8日
Tomcat Request请求处理过程:Connector
摘要: 引入 线程池Executor是在哪里启动的? Request是如何处理并交个Container处理的? Tomcat支持哪些协议?这些协议是处理的?协议层次结构如何设计的? Connector Connector构造 本质是初始化了ProtocolHandler,默认是HTTP/1.1 NIO实现。
阅读全文
posted @ 2026-05-08 09:00 程序员Seven
阅读(52)
评论(0)
推荐(0)
2026年5月7日
Tomcat Container的管道机制:责任链模式
摘要: 内容引入 承接上文Engine的设计,从以下几个方面,我将向你解释为什么要理解Tomcat中管道机制,它要解决什么问题? Tomcat总计架构图中Pipeline和Vavle 我们在上文Engine中有一块Pipline没有解释: 为什么Tomcat要引入Pipline呢?它要解决什么问题呢? 下文
阅读全文
posted @ 2026-05-07 09:00 程序员Seven
阅读(137)
评论(0)
推荐(1)
2026年5月6日
Tomcat Container容器之Engine:StandardEngine
摘要: 理解思路 第一:抓住StandardEngine整体类依赖结构来理解 第二:结合server.xml中Engine配置来理解 见下文具体阐述。 第三:结合Engine Config官方配置文档 http://tomcat.apache.org/tomcat-9.0-doc/config/engine
阅读全文
posted @ 2026-05-06 09:00 程序员Seven
阅读(93)
评论(0)
推荐(0)
2026年4月30日
Tomcat Request请求处理:Container设计
摘要: 理解思路 为什么我们说上面的是Container呢?我们看下几个Container之间的关系: 从上图上,我们也可以看出Container顶层也是基于Lifecycle的组件设计的。 在设计Container组件层次组件时,上述4个组件分别做什么的呢?为什么要四种组件呢? 如下是Container接
阅读全文
posted @ 2026-04-30 09:00 程序员Seven
阅读(165)
评论(0)
推荐(0)
2026年4月29日
Tomcat 线程池的设计与实现:StandardThreadExecutor
摘要: 理解思路 我们如下几个方面开始引入线程池的,这里主要从上文Service引入,保持上下文之间的衔接,会很好的构筑你的知识体系。 上文中我们了解到,Executor是包含在Service中的,Service中关于Executor的配置和相关代码如下: server.xml中service里包含Exec
阅读全文
posted @ 2026-04-29 09:00 程序员Seven
阅读(50)
评论(0)
推荐(0)
2026年4月28日
Tomcat Service的设计和实现:StandardService
摘要: 理解思路 第一:类比StandardServer, 抓住StandardService整体类依赖结构来理解 第二:结合server.xml中service配置来理解 见下文具体阐述。 第三:结合Service Config官方配置文档 http://tomcat.apache.org/tomcat-
阅读全文
posted @ 2026-04-28 09:00 程序员Seven
阅读(30)
评论(0)
推荐(0)
2026年4月27日
Tomcat Server的设计和实现:StandardServer
摘要: 理解思路 第一:抓住StandardServer整体类依赖结构来理解 第二:结合server.xml来理解 见下文具体阐述。 第三:结合Server Config官方配置文档 http://tomcat.apache.org/tomcat-9.0-doc/config/server.html Ser
阅读全文
posted @ 2026-04-27 09:00 程序员Seven
阅读(33)
评论(0)
推荐(0)
下一页
公告