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

Dai Wei

Java 10 新特性概览
发表于2021-11-21|Java
局部变量类型推断 var编译器推断类型,不是无类型。不能用于字段、方法参数、Lambda 形参(后续版本逐步放宽)。可读性规则:右侧类型明显时用 var,否则写显式类型。 G1 并行 Full GC减少 Full GC 停顿极端情况下的单线程整理时间。仍应尽量避免 Full GC,而非依赖此优化。 其他Unmodifiable List.copyOf、Optional.orElseThrow 无参版本、应用程序类数据共享(CDS)改进。版本非 LTS,多数企业从 11/17 跳过。 课堂外的思考学习「Java 10 新特性概览」时,我把自己放在线上值班的情境里:如果告警与这一主题相关,我能否在较短时间内建立假设并用数据验证?这种提问方式逼迫我从「看过」变成「讲得清楚、做得到」,也避免笔记沦为标题摘抄。 与同事的讨论方式我会用白板画出状态机、内存布局或调用链,请同事挑错。若被追问「更高并发或更老 JDK 版本会怎样」,答不上来就回到文首原文链接查 primary source,而不是凭记忆硬编。讨论后把新认识补进笔记末尾。 可复现实验为每个主题保留最小复现:一段可运行...
Java 9 新特性概览
发表于2021-11-11|Java
模块系统 JPMSmodule-info.java 声明 requires/exports,解决 JDK 9 起 classpath 上「什么都可见」的封装问题。迁移大型项目可先强封装 JDK 内部 API 使用,再逐步模块化。 JShell交互式 REPL,适合验证小片段。生产代码仍要正经测试,但学习 API 效率极高。 其他印象点接口私有方法;集合工厂 of/ofEntries;G1 成为默认 GC;Process API 改进。HTTP/2 Client incubating 到 11 正式。 实践尝试把一个小库拆成 module,体会「exports 包」与反射 opens 的差异。 课堂外的思考学习「Java 9 新特性概览」时,我把自己放在线上值班的情境里:如果告警与这一主题相关,我能否在较短时间内建立假设并用数据验证?这种提问方式逼迫我从「看过」变成「讲得清楚、做得到」,也避免笔记沦为标题摘抄。 与同事的讨论方式我会用白板画出状态机、内存布局或调用链,请同事挑错。若被追问「更高并发或更老 JDK 版本会怎样」,答不上来就回到文首原...
《Java8 指南》中文翻译
发表于2021-11-02|Java
学习定位Oracle Java 8 教程系统讲了 Lambda、Stream、日期时间、Nashorn 等。本文只记录自学脉络,不搬运译文:把教程当索引,每个主题配合 JSR 与 JEP 原文验证。 日期时间迁移java.time 取代 Date/Calendar:Instant 时间点、ZonedDateTime 带时区、Duration/Period 区分时间与日期差。旧 API 通过 atZone/ toInstant 互转。 接口演进default/static 方法让接口可演进而不破坏实现类。Collector 接口与 Stream 终端操作紧密相关。 建议读完教程章节后,用 JShell(Java 9+)快速验证 API,比只看文档记得牢。 课堂外的思考学习「《Java8 指南》中文翻译」时,我把自己放在线上值班的情境里:如果告警与这一主题相关,我能否在较短时间内建立假设并用数据验证?这种提问方式逼迫我从「看过」变成「讲得清楚、做得到」,也避免笔记沦为标题摘抄。 与同事的讨论方式我会用白板画出状态机、内存布局或调用链,请同事...
Java8 新特性实战
发表于2021-10-23|Java
Lambda 本质函数式接口 + invokedynamic 生成 lambda 元工厂。方法引用是语法糖:String::length 等价 x -> x.length()。 Stream 心智中间操作惰性,终端操作触发流水线。parallelStream 仅在无共享可变状态、计算密集且数据量大时考虑。 Optional 别滥用用于返回值表达缺省,不要作为字段或参数链式堆砌。orElseGet 传 Supplier 避免无谓构造。 组合示例1234567List<String> tops = orders.stream() .filter(o -> o.amount() > 100) .map(Order::customerName) .distinct() .sorted() .limit(10) .toList(); 课堂外的思考学习「Java8 新特性实战」时,我把自己放在线上值班的情境里:如果告警与这一主题相关,我能否在较短时间内建立假设并用数据验证?这种提问方式逼迫我从「看过」变成「讲得清楚、做...
Java 新特性专题:Java 8 到 Java 26 重要特性梳理
发表于2021-10-13|Java
版本节奏Java 6 个月一版,LTS(8、11、17、21)值得长期跟进。非 LTS 预览特性可能调整,生产启用需评估。 学习策略Java 8 函数式与 Stream 是基础;11 起 HTTP Client、var;17 密封类与模式匹配;21 虚拟线程与分代 ZGC;后续版本关注字符串模板、结构化并发等预览项。 实践方式每版选 1–2 个能在当前项目落地的特性做小 spike,比通读 Release Notes 更有效。 课堂外的思考学习「Java 新特性专题:Java 8 到 Java 26 重要特性梳理」时,我把自己放在线上值班的情境里:如果告警与这一主题相关,我能否在较短时间内建立假设并用数据验证?这种提问方式逼迫我从「看过」变成「讲得清楚、做得到」,也避免笔记沦为标题摘抄。 与同事的讨论方式我会用白板画出状态机、内存布局或调用链,请同事挑错。若被追问「更高并发或更老 JDK 版本会怎样」,答不上来就回到文首原文链接查 primary source,而不是凭记忆硬编。讨论后把新认识补进笔记末尾。 可复现实验为每个主题保留最小复现:一段可运行的 Java 片段、一条...
Java 后端线上问题排查:CPU、内存、GC、线程池、数据库与 Redis
发表于2021-10-04|Java
CPU 100%先 top -Hp 找线程 tid,转 16 进制后 jstack 定位栈帧。常见:正则灾难、无限循环、GC 线程忙、线程池任务过重。 内存泄漏堆曲线单调上涨,Full GC 后不回落。MAT 看 Leak Suspects, dominator 找保留大对象的路径,重点怀疑静态集合、ThreadLocal、缓存无上限。 联动中间件慢 SQL 导致连接池占满,表现为线程 BLOCKED;Redis 超时堆积任务队列。排查要跨层证据链,不要只盯 JVM。 清单保留 GC 日志、开启 OOM heap dump、线程池命名、限流熔断,比事后 MAT 更值钱。 课堂外的思考学习「Java 后端线上问题排查:CPU、内存、GC、线程池、数据库与 Redis」时,我把自己放在线上值班的情境里:如果告警与这一主题相关,我能否在较短时间内建立假设并用数据验证?这种提问方式逼迫我从「看过」变成「讲得清楚、做得到」,也避免笔记沦为标题摘抄。 与同事的讨论方式我会用白板画出状态机、内存布局或调用链,请同事挑错。若被追问「更高并发或更老 JDK 版本会怎样」,答不上来就回到文首原文...
2026 最新 JVM 面试题总结:内存区域、类加载、垃圾回收与线上排查
发表于2021-09-24|Java
内存区域答法线程私有:PC、栈、本地方法栈;共享:堆、方法区(JDK8 元空间)。直接内存不属于运行时数据区但常一起考。 对象创建五步类加载检查 → 分配内存(指针碰撞/空闲列表)→ 零值初始化 → 设置头信息 → init 方法。逃逸分析可能栈上分配或标量替换。 GC 追问Safe Point 与 STW;G1 Remembered Set 跨区引用;ZGC 着色指针与读屏障。答收集器要绑定停顿目标与堆大小。 排查题「频繁 Full GC」从元空间、老年代晋升、System.gc、大对象直接进老年代四条线展开。 课堂外的思考学习「2026 最新 JVM 面试题总结:内存区域、类加载、垃圾回收与线上排查」时,我把自己放在线上值班的情境里:如果告警与这一主题相关,我能否在较短时间内建立假设并用数据验证?这种提问方式逼迫我从「看过」变成「讲得清楚、做得到」,也避免笔记沦为标题摘抄。 与同事的讨论方式我会用白板画出状态机、内存布局或调用链,请同事挑错。若被追问「更高并发或更老 JDK 版本会怎样」,答不上来就回到文首原文链接查 primary source,而不是凭记忆硬...
Java内存区域详解(重点)
发表于2021-09-15|Java
线程私有区PC 寄存器记录字节码行号;虚拟机栈存栈帧(局部变量表、操作数栈);本地方法栈服务 native。StackOverflowError 栈深度超限,OutOfMemoryError 无法扩展栈。 线程共享区堆存放对象实例与数组;方法区存类元数据、常量、静态变量,JDK8 后用 Metaspace 实现。 对象一定在堆吗逃逸分析后可能未逃逸对象栈上分配,或标量替换拆成字段。这是优化,不是规范保证。 直接内存NIO DirectByteBuffer 使用堆外内存,受 MaxDirectMemorySize 约束,回收依赖 Cleaner/GC 触发。 课堂外的思考学习「Java内存区域详解(重点)」时,我把自己放在线上值班的情境里:如果告警与这一主题相关,我能否在较短时间内建立假设并用数据验证?这种提问方式逼迫我从「看过」变成「讲得清楚、做得到」,也避免笔记沦为标题摘抄。 与同事的讨论方式我会用白板画出状态机、内存布局或调用链,请同事挑错。若被追问「更高并发或更老 JDK 版本会怎样」,答不上来就回到文首原文链接查 primary source,而不是凭记忆硬...
JVM垃圾回收详解(重点)
发表于2021-09-05|Java
判定与算法引用计数(Java 不用)、可达性分析;标记-清除、复制、标记-整理。分代假设:大部分对象朝生夕灭,老年代长寿命。 常见收集器Serial/Parallel 关注吞吐;CMS 低停顿已过时;G1 分区 + 可预测停顿;ZGC/Shenandoah 超低延迟,适合大堆。 参数起点-XX:+UseG1GC,-Xms=-Xmx 避免堆伸缩,-XX:MaxGCPauseMillis 设期望停顿。观察 GC 日志再调 InitiatingHeapOccupancyPercent。 记忆点Minor GC 清理 Young;Full GC 通常整堆+方法区,频率过高是告警信号。 课堂外的思考学习「JVM垃圾回收详解(重点)」时,我把自己放在线上值班的情境里:如果告警与这一主题相关,我能否在较短时间内建立假设并用数据验证?这种提问方式逼迫我从「看过」变成「讲得清楚、做得到」,也避免笔记沦为标题摘抄。 与同事的讨论方式我会用白板画出状态机、内存布局或调用链,请同事挑错。若被追问「更高并发或更老 JDK 版本会怎样」,答不上来就回到文首原文链接查 pri...
JDK监控和故障处理工具总结
发表于2021-08-27|Java
命令速查 jps -l:列 JVM 进程 jstat -gcutil pid 1s:GC 占比实时看 jmap -dump:live,file=heap.hprof pid:堆转储 jstack pid:线程栈与死锁 JDK9+ 推荐 jcmd 统一入口:jcmd pid VM.native_memory summary。 可视化VisualVM、JMC 飞行录制分析 CPU 热点;Async-profiler 生成火焰图定位 native/Java 栈。 流程CPU 高 → top -H + jstack 找热点线程;内存涨 → 对比两次 heap dump;GC 频繁 → 看 allocation rate 与 survivor 晋升。 课堂外的思考学习「JDK监控和故障处理工具总结」时,我把自己放在线上值班的情境里:如果告警与这一主题相关,我能否在较短时间内建立假设并用数据验证?这种提问方式逼迫我从「看过」变成「讲得清楚、做得到」,也避免笔记沦为标题摘抄。 与同事的讨论方式我会用白板画出状态机、内存布局或调用链,请同事挑错。若被追问「更高并发或更老...
1…171819…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
搜索
数据加载中