寒水馨
愿天下没有难敲的代码 | Java架构设计师/软件设计师/高级Java工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 24 新特性解析与代码示例
Java 24 正式发布,带来多项重要更新!从模式匹配增强、灵活构造器到结构化并发、作用域值,显著提升开发效率与代码可读性。新增量子抗性加密、密钥派生API,强化安全能力。同时优化虚拟线程、G1与ZGC垃圾回收,支持高性能与低延迟场景。本文详解每一项新特性并附完整代码示例,助你快速掌握Java 24。原创 2025-08-01 20:18:24 · 805 阅读 · 0 评论 -
Java 23 新特性解析与代码示例
Java 23 正式发布,带来多项重要更新!本文深入解析3大正式特性:支持Markdown编写的Javadoc、ZGC默认启用代际模式、废弃不安全的sun.misc.Unsafe。同时涵盖8个预览与1个孵化特性,如模式匹配支持原始类型、结构化并发、作用域值等。通过详细代码对比与示例,助你快速掌握Java 23新特性,提升开发效率与代码质量。原创 2025-08-01 19:39:19 · 981 阅读 · 0 评论 -
Java 22 新特性解析与代码示例
Java 22 正式发布,带来12项重要更新!本文深入解析G1区域固定、外部函数与内存API、未命名变量、多文件源码启动等核心特性,并详解super前语句、流收集器、结构化并发等预览功能。通过丰富代码示例,助你全面掌握Java 22的性能提升、语言简化与并发编程新能力,为现代Java开发赋能。原创 2025-08-01 19:10:24 · 572 阅读 · 0 评论 -
Java 21 新特性解析与代码示例
Java 21 作为长期支持版本,带来了多项革命性更新。本文深入解析其核心新特性,包括简化代码的记录模式与模式匹配、提升并发性能的虚拟线程与结构化并发、增强API的外部函数与内存访问等,并配以详实代码示例,帮助开发者全面掌握Java 21的创新功能与实践应用。原创 2025-08-01 17:50:40 · 583 阅读 · 0 评论 -
Java 20 新特性解析与代码示例
Java 20 作为非LTS版本,带来了七大前沿特性,涵盖虚拟线程、结构化并发、模式匹配增强、外部函数与内存API等。本文深入解析 Scoped Values、Record Patterns、Vector API 等新功能,结合代码示例,展示其在高并发、高性能计算和安全本地交互中的应用,助力开发者提前掌握 Java 语言演进方向。原创 2025-08-01 16:18:56 · 945 阅读 · 0 评论 -
Java 19 新特性解析与代码示例
Java 19 作为非LTS特性版本,带来了多项革命性预览与孵化特性。本文深入解析虚拟线程、结构化并发、记录模式、switch模式匹配、Foreign Function & Memory API 等核心新功能,结合代码示例与最佳实践,帮助开发者提前掌握未来Java并发与编程范式的演进方向,为JDK 21等后续版本做好准备。原创 2025-08-01 15:23:45 · 850 阅读 · 0 评论 -
Java 18 新特性解析与代码示例
Java 18虽非LTS版本,但带来了九大实用新特性。从默认UTF-8编码、简单Web服务器到JavaDoc代码片段、模式匹配switch预览,再到Vector API与外部函数API的孵化升级,全面提升开发效率与性能。本文详解每个特性的背景、示例与最佳实践,助你快速掌握Java 18,为未来版本提前布局。原创 2025-08-01 13:19:39 · 720 阅读 · 0 评论 -
Java 17 新特性解析与代码示例
Java 17作为最新的长期支持(LTS)版本,带来了多项革命性更新。本文深入解析密封类、switch模式匹配(预览)、外部函数与内存API(孵化)、增强随机数生成器及反序列化安全过滤器等核心特性,配以详实代码示例,助你掌握Java 17的性能、安全与开发效率提升之道,是升级与学习的必备指南。原创 2025-07-31 20:25:33 · 633 阅读 · 0 评论 -
Java 16 新特性解析与代码示例
Java 16带来多项重磅更新:模式匹配简化类型判断,记录(record)大幅减少POJO样板代码,密封类控制继承结构。同时引入Unix域套接字、jpackage打包工具,并增强ZGC性能。本文详解核心特性并附完整代码示例,助你快速掌握Java 16新技能,为升级Java 17打好基础。原创 2025-07-31 19:39:05 · 590 阅读 · 0 评论 -
Java 15 新特性解析与代码示例
Java 15 作为重要演进版本,带来了密封类、模式匹配、记录等预览特性,提升代码表达力与安全性,文本块正式落地,ZGC与Shenandoah低延迟GC进入生产就绪,同时支持Unicode 13与EdDSA加密。本文详解各项新特性并配以实用代码示例,助你快速掌握Java 15核心升级。原创 2025-07-30 21:42:56 · 895 阅读 · 0 评论 -
Java 14 新特性解析与代码示例
Java 14带来了多项提升开发效率与代码质量的重要特性。本文深入解析五大核心新特性:开关表达式、记录类型(Records)、文本块、instanceof模式匹配及更有帮助的空指针异常。通过详实代码对比与示例,展现Java语言在简洁性、可读性与调试体验上的现代化演进,助力开发者写出更优雅高效的代码。原创 2025-07-30 20:22:30 · 670 阅读 · 0 评论 -
Java 13 新特性解析与代码示例
本文深入解析了Java 13的新特性,涵盖预览功能如支持yield的Switch表达式和简化多行字符串的Text Blocks,性能优化如Dynamic CDS Archives和ZGC内存归还,以及ByteBuffer增强、Socket API重构等。通过详实代码示例与新旧对比,帮助开发者全面掌握Java 13的核心改进,为后续版本演进奠定基础。原创 2025-07-30 19:07:08 · 727 阅读 · 0 评论 -
Java 12 新特性解析与代码示例
Java 12作为非LTS版本,虽已终止支持,但引入了多项重要新特性,推动了Java语言的现代化进程。本文深入解析其核心亮点,包括预览版Switch表达式、默认启用的类数据共享(CDS)、实验性Shenandoah垃圾收集器、微基准测试套件、Unicode 11支持及G1垃圾回收器改进等,帮助开发者理解其设计初衷与实际应用价值,也为学习后续LTS版本的新特性奠定基础。原创 2025-07-30 17:23:34 · 1051 阅读 · 0 评论 -
Java 11 新特性详解与代码示例
Java 11作为重要的长期支持(LTS)版本,带来了显著的开发效率提升。本文深入详解其核心新特性:包括简化字符串处理的`isBlank()`、`strip()`和`repeat()`方法;一键读写文件的`Files.readString/writeString`;增强流操作可读性的`Predicate.not`;现代化的HTTP客户端API,以及可直接运行单文件的便捷功能。文章提供详尽的代码示例与旧版本对比,帮助开发者快速掌握并应用这些硬核特性,优化代码质量。原创 2025-07-29 22:28:46 · 1174 阅读 · 0 评论 -
Java 10 新特性解析与代码示例
Java 10作为首个采用六个月发布周期的版本,带来了多项提升开发效率与性能的重要特性。其核心亮点是引入var关键字实现本地变量类型推断,大幅简化代码。同时,应用类数据共享(AppCDS)优化了内存占用与启动速度,新增的Unicode扩展和默认根证书增强了国际化与安全性。本文深入解析了包括JEP 286、310在内的12项增强提案,通过详尽的代码示例,帮助开发者全面掌握Java 10的新特性,为技术升级提供实用指南。原创 2025-07-29 22:25:49 · 748 阅读 · 0 评论 -
Java 9 新特性解析与代码示例
Java 9是Java平台的一次里程碑式升级,其核心是通过Project Jigsaw引入模块化系统,解决了JRE膨胀和依赖混乱的“JAR地狱”问题,实现了强封装和轻量级运行时。此外,它还带来了JShell交互式编程、私有接口方法、Try-with-resources语法优化、现代化的HTTP/2客户端(孵化器)和增强的Process API等实用特性。这些变革不仅提升了开发效率和系统安全性,更奠定了Java向云原生和微服务时代演进的基础,是Java现代化进程的起点。原创 2025-07-29 20:43:40 · 267 阅读 · 0 评论 -
Java 8 新特性解析与代码示例
Java 8作为Java史上最具革命性的版本,实现了从面向对象到函数式编程的范式跃迁。本文深入剖析Lambda表达式底层的invokedynamic机制、Stream API的惰性求值原理、接口默认方法的字节码实现,以及java.time的不可变设计哲学。通过大量可执行代码对比、JVM指令分析和性能基准测试,揭示特性背后的硬核真相:Lambda为何比匿名类高效?并行流何时反成性能陷阱?Optional的正确使用边界在哪里?拒绝表面语法糖,直击JDK源码级原理,助你掌握真正可落地的现代Java编程思维。原创 2025-07-29 18:34:17 · 402 阅读 · 0 评论 -
Java 实现:分解质因数
摘要: 本文介绍了使用Java实现质因数分解的方法。核心算法采用试除法,从最小质数2开始逐步分解整数为质因数乘积。程序通过递归实现分解过程,包含判断质数的辅助方法。示例展示了输入24的正确分解结果(2 2 2 3)。算法分析指出该方法时间复杂度为O(√n),适合较小整数。文章还解释了为何第一个能整除的数必然是质因数,并讨论了递归实现的优缺点,包括潜在的栈溢出风险。该实现简单直观,可作为学习质因数分解的入门示例。原创 2025-06-22 19:52:13 · 81 阅读 · 0 评论 -
Java实现:常胜将军问题
常胜将军问题:现有 21 根火柴,两人轮流取,每人每次可以取走 1 至 4 根,不可多取,也不能不取,谁取最后 1 根火柴谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为“常胜将军”。原创 2023-06-04 07:18:08 · 429 阅读 · 0 评论 -
Java实现:兔子产仔问题
13世纪意大利数学家斐波那契在他的《算盘书》中提出这样一个问题:有人想知道一年内一对兔子可繁殖成多少对,便筑了一道围墙把一对新生的兔子关在里面。已知一对两个月大的兔子以后每一个月都可以生一对小兔子,而一对新生的兔子出生两个月后才可以生小兔子(例如:1月份出生,3月份才可产仔)。假如一年内没有发生死亡,则一年内共能繁殖成多少对?原创 2023-05-26 15:58:54 · 588 阅读 · 0 评论 -
Java实现:猴子吃桃问题
Java实现:猴子吃桃问题;猴子吃桃问题:有一只猴子第一天摘下若干个桃子,当即吃掉了一半,又多吃了一个;第二天又将剩下的桃子吃掉一半,又多吃一个;按照这样的吃法每天都吃前一天剩下的桃子的一半又一个。到了第十天,就只剩下一个桃子。问题:这只猴子第一天摘了多少个桃子。原创 2023-01-23 23:22:18 · 1794 阅读 · 0 评论 -
Java实现:寻找水仙花数
Java实现:寻找水仙花数;如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数。例如:407=4^3+0^3+7^3,因此407就是一个水仙花数。编写一个程序,找出全部的水仙花数。原创 2023-01-13 00:05:56 · 1974 阅读 · 0 评论 -
Java实现:爱因斯坦的阶梯问题
Java实现:爱因斯坦的阶梯问题;爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请问该阶梯至少有多少阶。编写一个Java程序解决该问题。穷举法。原创 2023-01-11 17:33:27 · 1278 阅读 · 0 评论 -
Java实现:百钱买百鸡问题
Java实现:百钱买百鸡问题;百钱买百鸡问题:我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题。该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?请编写C程序,解决“百钱买百鸡”问题。原创 2023-01-08 23:42:50 · 1732 阅读 · 0 评论 -
Java实现:三色球问题
Java实现:三色球问题;三色球问题:由红、黄、绿三种颜色的球,其中红球3个,黄球3个,绿球6个。现将这12个球混放在一个盒子中,从中任意摸出8个球,编程计算摸出球的各种颜色搭配。原创 2023-01-08 22:53:17 · 639 阅读 · 0 评论 -
Java实现:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。...,请问第五个人多大?
Java实现:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后 问第一个人,他说是10岁。请问第五个人多大?原创 2023-01-05 16:49:02 · 372 阅读 · 0 评论 -
Java实现:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
Java实现:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?原创 2023-01-05 16:20:11 · 576 阅读 · 0 评论 -
Java实现:有1、2、3、4这4个数字,能组成多少个互不相同且无重复数字的三位数、都是多少
Java实现:有1、2、3、4这4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?原创 2023-01-05 15:34:09 · 1606 阅读 · 0 评论 -
Java实现:折半查找算法(递归、分治法)
Java实现:折半查找算法(递归)(分治法)。在计算机科学中,折半搜索(英语:half-interval search),也称二分搜索(英语:binary search)、对数搜索(英语:logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法。原创 2022-12-07 23:41:23 · 723 阅读 · 0 评论 -
Java实现:将正整数n划分成一系列的正整数之和,计算共有多少种划分方法(递归、分治法)
【Java系列-4】Java实现:将正整数n划分成一系列的正整数之和,计算共有多少种划分方法(递归)(分治法)原创 2022-12-07 17:54:41 · 661 阅读 · 0 评论 -
Java实现:计算n的阶乘(递归、分治法)
Java实现:计算n的阶乘n! (递归)(分治法)原创 2022-12-06 23:16:22 · 1113 阅读 · 0 评论 -
Java实现:TOM 的借书方案(排列组合)
Java实现:TOM 的借书方案(排列组合);穷举法原创 2022-12-06 00:00:52 · 195 阅读 · 0 评论 -
Java实现:寻找[1,100]之间的素数
Java实现:寻找[1,100]之间的素数;穷举法原创 2022-12-05 21:35:43 · 185 阅读 · 0 评论