08 2025 档案

摘要:目录上下文切换和模式切换为什么需要区分两者?一个例子理清所有概念上下文切换的整体流程阶段一:进入内核态(模式切换)阶段二:内核决定进行切换阶段三:执行上下文切换(核心步骤)阶段四:返回用户态(模式切换) 上下文切换和模式切换 上下文切换指的是换线程执行,模式切换是同一个线程获得不同的权限 这两句话完 阅读全文
posted @ 2025-08-30 23:09 deyang 阅读(29) 评论(0) 推荐(0)
摘要:目录IO分类总结:IO模型总结对比表核心区别详解1. 同步阻塞 (BIO)2. 同步非阻塞 (轮询式NIO)3. IO多路复用 (如Java NIO)4. 异步非阻塞 (AIO)5. 异步阻塞 (理论模型)终极结论Linux IO 和 Java IO详细模型对比1. 阻塞 I/O (BIO)2. 非 阅读全文
posted @ 2025-08-30 22:14 deyang 阅读(29) 评论(0) 推荐(0)
摘要:目录网络通信三要素IP地址IP地址相关InetAddress端口号端口号相关InetSocketAddress类InetSocketAddress 和Socket的区别代码示例:它们如何协同工作场景一:客户端建立连接场景二:服务器端接受连接总结协议传输层的2个通信协议Java实现UDP通信Java实 阅读全文
posted @ 2025-08-24 18:14 deyang 阅读(9) 评论(0) 推荐(0)
摘要:目录IP地址IP地址IP地址分类划分子网同一网络的判断网关有什么用?公网IP和私网IPNATNAPTDNS其他问题路由器 IP地址 IP地址 IP地址是给因特网上的每个主机或路由器的每个接口分配的一个标识符。 借助IP地址,就可以在网络中找到该IP标识的主机或路由器接口。 分为IPv4版本(32位 阅读全文
posted @ 2025-08-24 15:19 deyang 阅读(439) 评论(0) 推荐(0)
摘要:目录注册 JVM 关闭钩子(Shutdown Hook)的方法功能说明使用示例重要注意事项典型应用场景限制为什么 kill -9 不会执行 Shutdown Hook根本原因技术细节替代方案为什么这样设计扩展:常见信号编号示例 注册 JVM 关闭钩子(Shutdown Hook)的方法 Runtim 阅读全文
posted @ 2025-08-12 16:24 deyang 阅读(35) 评论(0) 推荐(0)
摘要:目录线程Java线程状态TIMED_WAITING进入方式:BLOCKED进入方式:WAITING(无限期等待状态)进入方式:TERMINATED状态:总结Java线程状态2JVisualVm显示线程状态1关键区别与说明关键对比线程的状态对比:等待、驻留、监视JVisualVm显示线程状态2JVis 阅读全文
posted @ 2025-08-06 14:05 deyang 阅读(17) 评论(0) 推荐(0)
摘要:目录G1和CMS如何抉择6g堆选哪个的问题1. 为什么在6GB堆中选择G1而非CMS?(1)CMS的致命缺陷(即使在小堆中)(2)G1在小堆(6GB)中的优势(3)性能数据对比2. 关于“8GB分界线”的误解3. 针对游戏服务的GC选型建议(1)优先选择G1的场景(2)可考虑CMS的场景(3)G1关 阅读全文
posted @ 2025-08-06 13:54 deyang 阅读(98) 评论(0) 推荐(0)
摘要:目录关于游戏服服务启动数量1. JVM内存参数设置(基于4-5GB堆占用)关键参数建议完整JVM参数示例2. 计算64GB服务器能运行的服务实例数关键考虑因素调整建议3. 优化方向(提升单机部署密度)4. 监控与验证最终建议方案 关于游戏服服务启动数量 有一个java游戏服务,用jvisualVm观 阅读全文
posted @ 2025-08-06 13:52 deyang 阅读(15) 评论(0) 推荐(0)
摘要:目录年轻代设置的很大会有什么影响1. 垃圾回收频率与停顿时间2. 内存空间分配3. 对象存活周期的影响4. 与垃圾回收器的协同5. 其他注意事项建议的调优策略总结 年轻代设置的很大会有什么影响 年轻代(Young Generation)是Java堆内存中用于存放新创建对象的内存区域,通常由Eden区 阅读全文
posted @ 2025-08-06 13:45 deyang 阅读(49) 评论(0) 推荐(0)
摘要:目录Linux命令详解netstat命令命令分解典型输出示例如何解读?常见用途替代命令(如果 netstat 不可用)总结iptables命令输出示例Chain INPUT真实数据详解1. 允许特定 IP 访问 SSH(22 端口)2. 允许任意 IP 访问 HTTP(80 端口)3. 允许任意 I 阅读全文
posted @ 2025-08-05 20:42 deyang 阅读(34) 评论(0) 推荐(0)
摘要:目录JMX 远程连接1. 检查 Java 进程是否正确监听 JMX 端口2. 确保 JMX 远程配置完整3. 检查防火墙是否放行端口(1)检查 iptables/firewalld(2)云服务器安全组4. 使用 JConsole 或 JVisualVM 连接5. 常见错误及解决方案总结 JMX 远程 阅读全文
posted @ 2025-08-05 20:39 deyang 阅读(174) 评论(0) 推荐(1)
摘要:目录Java 内存模型和这个MESI协议的关系🔍 一、核心定位与目标差异⚙️ 二、JMM 如何利用 MESI 协议⚖️ 三、本质区别:规范 vs 实现💡 四、常见误解澄清🛠️ 五、开发者视角💎 总结 Java 内存模型和这个MESI协议的关系 Java 内存模型(JMM)与 MESI 协议是 阅读全文
posted @ 2025-08-05 20:36 deyang 阅读(48) 评论(0) 推荐(0)
摘要:目录CPU缓存行(Cache Line)和MESI协议计算机存储的层次Cache Line读取流程Cache Line一致性MESI协议状态切换📊 一、读操作(Read)时的状态变化✍️ 二、写操作(Write)时的状态变化⚠️ 三、特殊场景与性能影响💎 总结:状态转换核心逻辑读操作流程图写操作 阅读全文
posted @ 2025-08-05 20:36 deyang 阅读(280) 评论(0) 推荐(0)
摘要:目录map在遍历的顺序就是put的顺序LinkedHashMapTreeMap + 自定义顺序对比:总结:hashmap为什么有时也是按插入顺序1. 哈希冲突较少时2. JDK 8 的优化3. 小数据量的巧合结论示例代码 map在遍历的顺序就是put的顺序 LinkedHashMap 特点:Link 阅读全文
posted @ 2025-08-05 20:25 deyang 阅读(84) 评论(0) 推荐(0)
摘要:目录JVisualVm显示变量引用问题引出:person本身这个变量不会占用字节吗?解答:1. 变量 person 和对象实例的区别2. JVisualVM 显示的 "大小(Size)" 是什么?3. 完整内存布局示例4. 为什么 JVisualVM 不统计栈上的变量?5. 验证方法(1) 使用 j 阅读全文
posted @ 2025-08-05 20:07 deyang 阅读(32) 评论(0) 推荐(0)