avatar
文章
377
标签
447
分类
12
首页
留言板
知识库
归档
标签
分类
关于
Dai Wei
搜索
首页
留言板
知识库
归档
标签
分类
关于

Dai Wei

TCP 三次握手和四次挥手(传输层)
发表于2018-01-19|计算机基础
概念与机制三次握手验证双向收发、同步初始序号并协商选项。TCP 全双工,收到 FIN 只关闭一个方向,ACK 与本端 FIN 常分开发出,因此多见四次挥手。大量 CLOSE_WAIT 多是应用未及时关闭。主动关闭方用 TIME_WAIT 补救最后 ACK 并隔离旧报文,排查还要结合连接队列和进程状态。 理解“TCP 三次握手和四次挥手(传输层)”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一张抓包截图直接下结论。 ...
计算机网络专题:分层模型、HTTP、HTTPS、DNS、TCP、UDP、ARP 与 NAT
发表于2018-01-12|计算机基础
概念与机制分层把通信责任拆开:应用层管语义,传输层管进程交付,网络层管跨网段路由,链路层管相邻节点。一次请求串起 DNS、ARP、IP、TCP 或 UDP、TLS 与 HTTP。排障应依次验证解析、路由、端口、安全握手和应用响应;Ping 成功只证明 ICMP 有回应,TCP 可靠也不等于业务事务成功。 理解“计算机网络专题:分层模型、HTTP、HTTPS、DNS、TCP、UDP、ARP 与 NAT”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要...
一台主机上只能保持最多 65535 个 TCP 连接吗?
发表于2018-01-05|计算机基础
概念与机制TCP 连接由四元组区分,服务器能在一个监听端口接受大量不同来源,所以整机连接数不直接受 65535 限制。固定源 IP 反复连接同一目标时,客户端更易耗尽临时端口,TIME_WAIT 与共享 NAT 也会压缩空间。真实瓶颈还有文件描述符、内存、CPU、队列和网卡。 理解“一台主机上只能保持最多 65535 个 TCP 连接吗?”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一张抓包截图直接下结论。 工程设...
HTTP 常见状态码总结(应用层)
发表于2017-12-29|计算机基础
概念与机制状态码是摘要:1xx 表过程,2xx 表成功,3xx 引导后续动作,4xx 指向请求问题,5xx 表服务器未完成有效请求。202 只表示接受,304 表示复用缓存,401 偏认证,403 偏授权,502 是无效上游响应,504 是上游超时。API 不应把所有失败包装成 200,错误体还需稳定代码和追踪标识。 理解“HTTP 常见状态码总结(应用层)”不能停在名词定义,还要找到状态保存位置、报文字段和交互顺序。发送端、接收端、中间设备和应用各自看到的现象并不相同;同一个超时可能来自解析、路由、队列、握手或业务处理。先画最小正常时序,再分别加入丢包、重复、乱序、对端重启等条件,才能理解协议为何需要缓存、确认、窗口或超时,而不是把这些机制当作孤立规则。 实践与误区验证时先记录目标地址、协议、端口、开始时间和请求标识,再把客户端错误、系统连接状态、网关指标、服务日志和抓包放到同一时间线。单一工具只能证明它实际观察的层次:端口可达不等于应用成功,收到响应也不代表业务数据已持久化。遇到异常应提出可证伪假设,选择能区分不同原因的证据,不要凭一次 Ping、一个状态码或一张抓包截图...
计算机基础学习路线:网络、操作系统、数据结构与算法
发表于2017-12-21|计算机基础
计算机基础不是需要一次背完的题库,而是理解软件运行边界的四组模型:网络解释数据如何跨主机传递,操作系统解释程序如何使用硬件,数据结构决定信息如何组织,算法则决定计算如何推进。 四条主线如何衔接学习网络时,先建立分层视角,再追踪一次请求经历的 DNS、TCP、TLS 和 HTTP。重点不只是记协议字段,而是能解释超时、重传、连接复用与拥塞控制如何影响接口延迟。抓包分析比单纯背诵更容易形成可靠理解。 操作系统部分应围绕资源抽象展开:进程和线程对应执行与隔离,虚拟内存连接地址空间与物理内存,文件系统组织持久化数据,I/O 多路复用解决大量连接的等待问题。学习每个机制时,都应追问它解决了什么竞争或成本,以及应用程序能观察到哪些现象。 数据结构与算法最好结合学习。数组、链表、哈希表、树和图提供不同的访问与更新能力;二分、搜索、回溯、动态规划和贪心则在这些结构上探索答案。复杂度分析用于估算增长趋势,但工程选择还要考虑缓存局部性、常数成本、数据规模和可维护性。 推荐练习方式每个主题采用“模型—实验—复盘”三步。先画出关键组件与状态变化,再用最小实验验证,例如用 curl 和抓包观...
Java基础常见面试题总结(下)
发表于2017-12-14|Java
基础面试下篇往往更偏工程细节:对象怎么创建、拷贝是深是浅、I/O 模型差异、以及容易被忽略的语言边角。 核心概念对象创建路径:new、反射、克隆、反序列化,以及 Unsafe 等非常规手段。浅拷贝 vs 深拷贝:clone() 默认浅拷贝,引用字段仍共享;深拷贝需递归复制或序列化(有代价)。BIO/NIO/AIO:阻塞 I/O、多路复用与非阻塞回调,Netty 等高性能网络库建立在其上。 关键机制与实践面试答「创建对象几种方式」时,按使用频率与可读性排序,并补充单例、工厂、池化等设计层模式。谈 I/O 时区分「字节流/字符流」「缓冲」「NIO 的 Channel/Buffer/Selector」。涉及 String 常量池、Integer 缓存 (-128~127) 等,用简短代码验证比背结论更有说服力。 常见误区与小结 认为 clone() 一定是深拷贝。 把 NIO 等同于「一定比 BIO 快」(小连接、低并发场景未必)。 忽略 transient、serialVersionUID 与自定义 ...
Java基础常见面试题总结(中)
发表于2017-12-07|Java
「Java 基础面试(中)」通常承接语法与 OOP,转向异常处理、资源管理、泛型、反射与注解——这些题考察的是「异常会不会吞」「注解谁在解析」。 核心概念异常:Throwable 分 Error 与 Exception;受检异常必须处理或声明,非受检(RuntimeException)可选。try-with-resources 自动关闭 AutoCloseable,比手动 finally 更安全。反射在运行时获取 Class、字段与方法;注解本身只是元数据,生效依赖编译器或运行时处理器(如 Spring 扫描 @Component)。 关键机制与实践回答面试题时建议分层:先说语言规则,再说 JVM/框架怎么用。例如「反射为什么慢」——方法访问需校验与装箱,且难以内联;框架通过缓存 Method、使用 MethodHandle 或字节码生成优化。注解三要素:定义、保留策略(SOURCE/CLASS/RUNTIME)、处理方(编译期 APT 或运行时 Reflection)。 常见误区与小结 catch (Exception e) {} 空块吞掉故障...
Java 值传递详解
发表于2017-11-30|Java
「Java 是值传递还是引用传递」是经典争论。结论:Java 只有值传递——传的是实参值的拷贝;对引用类型而言,拷贝的是引用(地址),不是对象本身。 核心概念形参/实参:调用时实参绑定到形参变量。值传递:形参得到副本,改形参不影响实参变量。引用传递(C++ 等):形参与实参同一存储,改形参即改实参。Java 中引用变量保存的是对象的访问地址,传参时复制这份地址到形参。 关键机制与实践案例 1:交换两个 int,方法内 swap 无效,因交换的是副本。案例 2:传入对象引用,在方法内 obj.field = x 会改堆上对象,因副本与实参指向同一对象。案例 3:方法内 obj = new Object() 只改形参指向,不影响外部引用。String 不可变,方法内 s = "b" 同样只改局部引用。 1234static void change(User u) { u.setName("A"); // 外部可见 u = new User("B"); //...
Java 魔法类 Unsafe 详解
发表于2017-11-24|Java
Unsafe 提供接近 C 指针的低层能力:直接内存、字段偏移、CAS、绕过构造器实例化对象。Atomic*、ConcurrentHashMap 等 JUC 组件在 JDK 8 及以前大量依赖它。 核心概念位于 sun.misc/jdk.internal.misc,单例获取受类加载器限制(普通代码直接 getUnsafe() 会抛 SecurityException)。能力包括:allocateMemory 堆外内存、compareAndSwap* 原子更新、按偏移读写对象字段、park/unpark 线程阻塞唤醒。实现依赖 native 方法。 关键机制与实践业务代码不应直接使用;读 JUC 源码时关注 CAS 循环与 volatile 语义。Java 9+ 模块系统进一步封装 Unsafe,官方倾向 VarHandle 与 Foreign Memory API 替代。若学习实验,可通过反射读取 theUnsafe 静态字段(仅限本地理解,勿用于生产)。 12// 概念示例:CAS 自增思想(实际用 AtomicInteger)// while (!unsafe....
Java 语法糖详解
发表于2017-11-17|Java
语法糖不改变语义,只让代码更简洁;理解「编译后长什么样」有助于调试字节码、排查泛型擦除与性能问题。 核心概念常见糖:增强 for → 迭代器循环;自动装箱/拆箱 → Integer.valueOf/intValue;泛型 → 擦除+桥方法;枚举 → 合成类与静态数组;try-with-resources → finally 关闭;Lambda → invokedynamic + 函数式接口。Switch 字符串/模式(新 JDK)同样是编译期变换。 关键机制与实践用 javap -c 或 IDE 反编译查看脱糖结果。自动装箱在循环里可能产生大量临时对象;Integer 缓存 -128~127 导致 == 与 equals 表现不一致。增强 for 遍历 ConcurrentModificationException 时在并发修改集合会 fail-fast(除非用并发容器或迭代器 remove 规则)。 123// 源码:for (String s : list) { ... }// 近似:for (Iterator<St...
1…333435…38
avatar
Dai Wei
软件开发者,记录技术探索与实践
文章
377
标签
447
分类
12
Follow Me
公告
分享软件开发、工程实践与持续学习中的思考。
最新文章
Trae + MiniMax 多场景实战:Redis 故障排查与跨语言重构2026-08-28
Kimi K3 实战:全栈项目、Java 项目改造与 3A 游戏 Demo2026-08-23
测试开发学习路线(2026 最新版):AI 时代如何从测试走向质量工程2026-08-20
IDEA + Qoder 插件多场景实战:接口优化与代码重构2026-08-18
DeepSeek V4 + Claude Code 实战:代码能力深度测评2026-08-14
分类
  • AI 编程28
  • Java103
  • 人工智能39
  • 分布式系统26
  • 学习路线5
  • 开发工具11
  • 数据库42
  • 系统设计26
标签
线程优先级 DBMS 大模型 Java基础 命令 Top K 安全 Loop 计算机网络 Raft 贪心 修饰权限 TCC 最终一致性 召回 网络编程三要素 服务调用 分布式理论 知识体系 复杂度 红黑树 Unsafe 面试 Java26 BASE 内存管理 语音 redo log Kimi NoSQL Seata CAS 优化器 RDB 线程通信 面试题 IDE 死锁 ZAB 编排
归档
  • 八月 2026 7
  • 七月 2026 7
  • 六月 2026 6
  • 五月 2026 7
  • 四月 2026 6
  • 三月 2026 4
  • 二月 2026 5
  • 一月 2026 5
网站信息
文章数目 :
377
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2017 - 2026 By Dai Wei框架 Hexo 8.1.2|主题 Butterfly 5.7.0
搜索
数据加载中