logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

为什么TCP在释放连接的时候客户端要等待2MSL的时间才关闭链接?

这一机制是TCP协议可靠性的体现,尽管可能带来性能开销,但通过合理优化(如参数调整、长连接设计)可以有效缓解问题。这一设计是为了确保网络通信的可靠性和避免潜在的数据冲突。在TCP连接的释放过程中,

#tcp/ip#网络协议#网络
如何排查mysql慢查询?

通过 information_schema.INNODB_TRX 和 sys.innodb_lock_waits 视图查看锁等待详情。performance_schema 提供了更细粒度的等待事件监控,适合分析实时和历史等待事件。通过以上方法,可以系统性地定位和解决线上慢查询问题,同时通过预防措施避免未来性能隐患。SHOW PROCESSLIST 可以查看当前所有连接的状态,包括等待中的查询。排查

#mysql#数据库
经典排序算法 - 合并两个有序的数组

给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B。编写一个方法,将B 合并入A并排序。可以通过从后向前合并的方式解决,因为数组A末端有足够的缓冲空间。

#排序算法#算法
【动态规划】【牛客】[中]BM65. 最长公共子序列(二)

本文介绍了求解两个字符串最长公共子序列(LCS)的算法,重点分析了动态规划解法。当任一字符串为空时直接返回"-1"。核心步骤包括:1)构建二维DP表记录子串匹配情况;2)通过状态转移方程填充DP表(字符匹配时左上值+1,否则取左/上较大值);3)从DP表右下角回溯构造LCS字符串。文章提供了Golang、Java和Python三种实现,时间复杂度O(n²),空间复杂度O(n²)

#算法#java#数据结构 +1
微服务架构设计原则详解

围绕业务能力定义清晰的、高内聚低耦合的服务边界,并赋予其最大程度的自治(开发、部署、数据、扩展)。依赖自动化基础设施、容错设计、API 契约和可观察性来管理分布式系统固有的复杂性。明确接受并设计应对网络不可靠、延迟、故障、数据一致性难题等分布式系统问题。微服务架构的成功往往需要匹配的组织结构(小型、跨职能、全栈的团队)和 DevOps 文化。遵循这些原则是构建成功微服务架构的基础,但也需要认识到其

#微服务#架构#云原生
数据结构 -- 树相关面试题

结构编号图形表示1A → B → C(全左单支)2A → B ←→ C(B 右子节点)3A 有两个孩子 B 和 C(完整层次)4A → (右) B → (左) C5A → (右) B → (右) C(全右单支)🧠。

#数据结构
8种常见数据结构及其特点简介

数据结构插入/删除时间复杂度查询时间复杂度典型用途数组O(n)O(1)快速随机访问链表O(1)O(n)动态数据操作栈/队列O(1)O(1)受限顺序操作哈希表O(1)O(1)高效键值存储堆O(logn)O(1)极值优先处理。

#数据结构#java#开发语言
有哪些工具可以模拟死锁场景?

本文介绍了多种编程语言和工具模拟死锁场景的方法。在Go、Java、C++等语言中,可以通过互斥锁和线程休眠人为制造交叉死锁。Python的threading模块也能实现类似效果。调试工具如GDB、Valgrind可辅助分析死锁状态,Java的JConsole/jstack能直接检测死锁。自动化测试方面,Go的go-deadlock库、Java的JUnit和Python的pytest都支持死锁测试。

#golang#后端
详解TCP的滑动窗口和拥塞避免机制

是协议中两个核心的流量控制和网络优化技术,它们共同确保数据传输的可靠性、高效性和稳定性。通过动态调整发送窗口大小,TCP在高效传输和网络稳定之间取得了平衡。,即根据接收方的处理能力动态调整发送方的数据发送速率。,通过动态调整发送速率,避免网络拥塞导致的丢包和延迟。发送方必须同时考虑接收方的处理能力和网络的拥塞状况。两者相辅相成,滑动窗口关注。滑动窗口的核心目标是。拥塞避免的核心目标是。

#tcp/ip#网络#服务器
如何检测Golang程序中的死锁问题?

Go 语言中检测死锁的实用方法包括:运行时自动检测(输出"all goroutines asleep")、GODEBUG环境变量(获取调度信息)、pprof工具(分析阻塞goroutine)、go-deadlock工具(在线检测锁问题)以及静态分析工具(如go vet)。最佳实践是开发阶段启用检测工具,生产环境使用pprof分析,并遵循统一锁顺序、避免嵌套锁等并发编程规范。这些

#golang#开发语言#后端
    共 49 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择