
49天精通Java
文章平均质量分 97
无论你是初学者还是有一定基础的开发者,此专栏将提供的系统化课程将帮助你在49天内掌握Java编程语言的核心知识与技能。从基础语法到面向对象编程,再到常用框架与实战项目,我们将通过精心设计的学习路径和实际演练,帮助你快速入门及掌握Java,吃透Java。
bug菌¹
我是bug菌,CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家,C站博客之星Top30,华为云2023年度十佳博主,掘金多年度人气作者Top40,掘金等各大社区平台签约作者,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者;全网粉丝合计 30w+;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!
展开
-
「49天精通Java」专栏导读 (已完结)
🏆本文收录于「49天精通Java」专栏,专业攻坚指数级提升持续更新中,up!up!up!!欢迎点赞&&收藏&&订阅。原创 2024-12-09 18:00:54 · 1685 阅读 · 1 评论 -
49天精通Java(Day 49):项目实战:Java SE综合应用
在本期实战项目中,我们将综合运用Java SE的多线程、IO与网络编程技术,设计并实现一个功能完整的应用程序。通过实际开发,读者将深入理解如何将各项Java SE技术整合应用于项目中,并掌握从需求分析、设计到打包发布的完整流程。本项目将侧重于高并发处理、文件操作与网络通信的实现,为未来的实际开发工作打下坚实基础。本文首先进行综合应用的需求分析与设计,明确项目目标和技术方案。接着,将详细介绍多线程、IO与网络编程的整合实现,并通过具体案例演示各部分代码的开发与调试。原创 2025-01-10 14:28:09 · 1040 阅读 · 0 评论 -
49天精通Java(Day 48):Java的虚拟机调优
JVM调优是优化Java应用性能的重要手段。通过合理配置JVM参数,开发者可以改善应用的内存使用和垃圾回收行为,从而提升整体性能。垃圾回收器(GC)是JVM中负责内存管理的核心组件,不同的GC算法适用于不同的应用场景。本文将介绍如何通过JVM调优参数配置、GC调优和内存分配策略优化Java应用,并具体讲解G1和ZGC垃圾回收器的调优方法。本文首先介绍JVM调优参数与常用设置,帮助开发者了解如何通过配置参数优化JVM性能。接着,本文将深入探讨垃圾回收调优与内存分配策略,详细分析如何选择和配置合适的GC策略。原创 2025-01-10 14:27:56 · 995 阅读 · 0 评论 -
49天精通Java(Day 47):Java的代理与热插拔
代理与热插拔技术是Java开发中非常重要的高级主题。代理允许开发者在不修改原始代码的情况下拦截并增强方法调用,广泛应用于AOP、框架开发等领域。而热插拔技术则通过Java Agent和字节码操作,实现运行时代码的动态修改和扩展。本文将介绍这些技术的基本概念与应用场景,并通过具体案例展示如何在Java SE中实现简单的插件系统。本文首先介绍Java动态代理的高级用法,展示如何通过动态代理实现复杂的拦截和增强逻辑。接着,本文将深入探讨Java Agent与字节码操作技术,展示如何在运行时修改字节码并实现热插拔。原创 2025-01-10 14:27:42 · 625 阅读 · 0 评论 -
49天精通Java(Day 46):Java的元编程与代码生成
元编程是指在程序运行时动态生成或操作代码的技术。Java通过注解、反射和代码生成工具为元编程提供了强大的支持。元编程可以简化代码结构、提高代码的可复用性,并自动生成繁琐的样板代码,从而提高开发效率。本文将介绍Java中的元编程技术,包括如何使用APT进行代码生成,处理编译时与运行时注解,以及动态生成Java代码的方法。本文将首先介绍Annotation Processing Tool (APT)的基本概念和工作原理,接着探讨如何使用APT进行代码生成,展示编译时与运行时注解处理的差异与应用。原创 2025-01-08 09:22:51 · 747 阅读 · 0 评论 -
49天精通Java(Day 45):Java的模块化系统
Java 9引入的模块化系统(Project Jigsaw)标志着Java平台的重要升级。通过模块化,Java语言的结构和依赖管理得到了进一步的精简和优化。这一特性特别适用于大型应用的开发与维护,使得代码更具可维护性、可读性,并有效减少了模块间的依赖问题。本文将全面介绍Java的模块化系统,展示如何定义和管理模块,以及模块化在大型项目中的具体应用。本文将首先介绍Java 9引入的模块化系统的基本概念与原理,接着探讨如何定义模块及其依赖管理,并通过具体案例演示模块化的实际操作。原创 2025-01-08 09:22:40 · 732 阅读 · 0 评论 -
49天精通Java(Day 44):Java SE的部署与发布
Java以其“编写一次,运行多处”的理念而闻名,而部署与发布Java应用是将这一理念付诸实践的关键步骤。如何打包、分发和部署Java应用,确保它们能够在不同的操作系统和环境中稳定运行,是每个Java开发者必须掌握的技能。本文将深入探讨Java SE的部署与发布策略,从打包与分发到跨平台部署的具体实践,帮助开发者实现高效而可靠的Java应用交付。本文首先介绍如何打包和分发Java应用,包括使用JAR文件进行打包和签名。原创 2024-12-30 11:11:01 · 1354 阅读 · 0 评论 -
49天精通Java(Day 43): Java的配置与管理
在现代软件开发中,配置管理和系统管理是保证应用程序稳定运行的重要组成部分。Java提供了多种方式来管理配置文件、系统属性和环境变量。此外,Java Management Extensions(JMX)提供了强大的工具来监控和管理Java应用。掌握这些技术能够帮助开发者更好地控制应用的行为、优化性能,并及时发现和处理系统问题。本文将详细介绍这些技术,并展示如何在实际开发中有效使用它们。本文将首先介绍如何在Java中加载和管理配置文件,并探讨处理系统属性和环境变量的常见方法。原创 2024-12-30 11:10:50 · 1361 阅读 · 0 评论 -
49天精通Java(Day 42):Java中的Web技术
Java不仅在桌面应用领域表现优异,在Web开发中同样占据重要地位。Servlet和JSP是Java Web开发的基础技术,通过它们可以构建动态的Web应用程序。虽然Java EE(Jakarta EE)提供了完整的Web开发栈,但使用Java SE同样可以开发简单的Web应用,尤其是在需要快速原型开发或小型Web服务时。本文将介绍Servlet与JSP的基础知识,并展示如何在Java SE中集成内嵌Web服务器,以便构建和部署Web应用。原创 2024-12-29 23:21:00 · 981 阅读 · 0 评论 -
49天精通Java(Day 41):Java SE的常见框架
Java SE(Standard Edition)不仅提供了丰富的语言特性和标准库,还包含了多个用于构建桌面应用的框架。JavaFX、Swing与AWT是Java中最常用的GUI框架,广泛应用于桌面应用程序的开发。除此之外,Java还提供了强大的插件与扩展机制,使得开发者可以轻松扩展应用的功能。本文将深入介绍这些框架与机制,帮助开发者了解如何使用它们构建和扩展Java应用程序。本文将首先介绍JavaFX的基本概念与用法,展示如何使用JavaFX构建桌面应用。原创 2024-12-29 23:20:44 · 918 阅读 · 0 评论 -
49天精通Java(Day 40):Java中的设计模式(下)
设计模式提供了成熟的解决方案,帮助开发者应对软件设计中的各种挑战。今天,我们将继续深入研究几种常用的设计模式,这些模式在实际开发中具有广泛的应用。通过理解这些模式的核心思想及其在Java中的实现方式,开发者可以编写出更加灵活、可扩展的代码,从而应对复杂的业务需求。本文将介绍观察者模式、装饰器模式、策略模式、责任链模式、命令模式、模板方法模式和迭代器模式的基本概念、实现方法及其应用场景。我们将通过具体的代码示例和案例分析,帮助读者理解这些设计模式的核心思想及其在实际开发中的应用。原创 2024-12-26 17:01:09 · 811 阅读 · 0 评论 -
49天精通Java(Day 39):Java中的设计模式(上)
设计模式是一种经过验证的解决方案,用于解决软件开发中的常见问题。通过使用设计模式,开发者可以提高代码的可维护性、可扩展性和可重用性。本文将深入探讨几种常见的设计模式,包括单例模式、工厂模式、建造者模式、原型模式和适配器模式,并展示这些模式在实际项目中的应用场景。理解和掌握这些设计模式,可以帮助开发者编写更加优雅和高效的代码。本文将首先介绍单例模式、工厂模式和建造者模式的基本概念与实现方法,接着探讨原型模式和适配器模式的应用场景与实现细节。原创 2024-12-26 17:01:00 · 993 阅读 · 0 评论 -
49天精通Java(Day 38):Gradle项目管理
Gradle是一种灵活而强大的构建工具,广泛应用于Java、Android等项目的构建与管理。与Maven不同,Gradle使用基于Groovy或Kotlin的DSL(领域特定语言)脚本来定义构建逻辑,使其更加灵活且可扩展。Gradle不仅能够高效管理依赖库,还可以通过自定义任务实现复杂的构建过程。本文将详细介绍Gradle的基本概念与DSL脚本,展示如何使用Gradle进行依赖管理与任务定义,并与Maven进行对比分析。本文首先介绍Gradle的基本概念与DSL脚本,解释其在项目管理中的重要性。原创 2024-12-25 09:07:43 · 1424 阅读 · 0 评论 -
49天精通Java(Day 37):Maven项目管理
Maven是一个强大的项目管理工具,广泛应用于Java项目中。它不仅提供了标准化的项目结构,还简化了项目构建、依赖管理和打包的过程。通过Maven,开发者可以轻松管理项目的依赖库,并自动化整个构建过程,从而提高开发效率。本文将详细介绍Maven的基本概念、目录结构、POM文件配置以及如何使用Maven进行项目构建与打包。本文首先介绍Maven的概念与项目目录结构,解释其在项目管理中的重要性。接着,本文将深入探讨POM文件的配置与依赖管理,展示如何通过Maven自动化管理项目的依赖库。原创 2024-12-25 09:07:33 · 1153 阅读 · 0 评论 -
49天精通Java(Day 36):单元测试与TDD
单元测试是确保代码质量的基础,通过对应用程序中的最小可测试部分(即单元)进行验证,开发者可以发现和修复早期的错误。测试驱动开发(TDD)是一种以测试为驱动的软件开发方法,通过先编写测试再编写代码,确保每个功能模块都经过充分测试。本文将详细介绍JUnit的基本使用方法,展示如何使用Mockito进行单元测试,并探讨TDD的基本流程及其在实际开发中的应用。本文将首先介绍JUnit的基本使用方法,展示如何编写和运行单元测试。接着,本文将探讨如何使用Mockito进行单元测试,特别是在依赖注入和模拟对象方面的应用。原创 2024-12-24 10:04:36 · 1179 阅读 · 0 评论 -
49天精通Java(Day 35):Java的日志管理
日志管理是应用开发中的重要组成部分,它不仅有助于调试和问题排查,还可以记录应用程序的运行状况、用户行为和系统事件。Java提供了多种日志管理框架,如Java内置的、Log4j和SLF4J等,这些框架在功能和灵活性上各有优势。本文将详细介绍这些日志框架的使用方法,展示如何格式化日志并管理日志输出,帮助开发者更好地记录和分析应用程序的运行情况。本文首先介绍Java内置的日志框架的基本使用方法,接着探讨Log4j和SLF4J的使用,展示如何在实际项目中集成这些日志框架。原创 2024-12-24 10:04:26 · 739 阅读 · 0 评论 -
49天精通Java(Day 34):Java中的性能调优
Java性能调优是提高应用程序运行效率的关键步骤。随着应用程序规模的扩大和复杂度的增加,性能问题可能会对用户体验和系统资源造成重大影响。通过使用性能分析工具,开发者可以深入了解应用程序的运行状况,识别性能瓶颈,并采取有效的优化策略。本文将详细介绍几种常见的Java性能分析工具,展示如何监控CPU和内存性能,并探讨常见性能瓶颈的识别与优化方法。本文首先介绍Java性能调优的重要性和常用的性能分析工具,如JVisualVM和JProfiler。原创 2024-12-23 08:49:42 · 712 阅读 · 0 评论 -
49天精通Java(Day 33):Java安全性与加密
随着互联网的普及和信息技术的发展,数据安全成为现代应用开发中的关键问题。Java作为一种广泛使用的编程语言,其安全模型和加密API为开发者提供了丰富的工具,用于保护数据的机密性、完整性和真实性。本文将详细介绍Java的安全模型与权限管理,探讨如何使用JCA(Java Cryptography Architecture)和JCE(Java Cryptography Extension)实现加密与解密,并展示数字签名和证书的使用方法。本文将首先介绍Java的安全模型与权限管理,解释其在保护应用程序安全中的作用。原创 2024-12-23 08:49:53 · 759 阅读 · 0 评论 -
49天精通Java(Day 32):动态代理与AOP
动态代理是一种设计模式,它允许开发者在运行时创建代理对象,用于拦截方法调用、添加功能或修改行为。Java的动态代理机制在框架开发和AOP(Aspect-Oriented Programming)中具有重要作用。AOP是一种编程范式,它通过分离横切关注点(如日志、事务管理)来增强代码的可重用性和可维护性。本文将详细介绍动态代理的原理与实现,展示JDK动态代理与CGLIB代理的区别,并探讨动态代理在AOP中的应用。本文首先介绍动态代理的基本原理,解释如何使用JDK动态代理和CGLIB代理实现动态代理。原创 2024-12-21 12:24:33 · 1118 阅读 · 0 评论 -
49天精通Java(Day 31):JNI与本地方法接口
Java是一种跨平台的语言,其“编写一次,到处运行”的特性主要依赖于Java虚拟机的抽象。然而,在某些情况下,Java应用可能需要与特定平台的本地代码进行交互,以利用底层操作系统的特性或调用已有的C/C++库。为此,Java提供了JNI(Java Native Interface),一个允许Java代码与本地代码互操作的接口。本文将详细介绍JNI的基本概念与用途,展示如何通过JNI调用C/C++代码,并分析JNI的优缺点与应用场景。本文首先介绍JNI的基本概念,解释其用途及工作原理。原创 2024-12-21 12:24:16 · 984 阅读 · 0 评论 -
49天精通Java(Day 30):Java的类加载机制
Java的类加载机制是Java虚拟机(JVM)执行过程中最核心的部分之一。类加载器(ClassLoader)负责将字节码文件(.class文件)加载到JVM中,使得类可以在内存中被解析、初始化并最终执行。理解类加载的基本流程和双亲委派模型,对于编写自定义类加载器、实现动态加载类、以及支持热部署等功能至关重要。本文将详细介绍Java的类加载机制,展示如何实现自定义类加载器,并探讨类的重加载与热部署技术。本文将首先介绍Java类加载的基本流程与双亲委派模型,探讨类加载器如何加载和链接类。原创 2024-12-21 12:24:04 · 1009 阅读 · 0 评论 -
49天精通Java(Day 29):Java编译与运行时优化
Java编程语言的优势之一在于其跨平台的特性,这主要得益于Java编译器和运行时环境的设计。Java源代码在编译后生成字节码,而字节码可以在任何安装了Java虚拟机(JVM)的环境中运行。JVM通过即时编译器(Just-In-Time Compiler, JIT)和其他优化技术,在运行时将字节码编译为机器代码,以提升程序的执行效率。本文将详细介绍Java编译器的使用、JIT编译的原理及优化技术,并探讨字节码的结构与常用反编译工具。本文将首先介绍Java编译器javac。原创 2024-12-20 14:20:05 · 960 阅读 · 0 评论 -
49天精通Java(Day 28): 国际化与本地化
随着软件开发的全球化趋势,国际化(Internationalization, i18n)和本地化(Localization, l10n)变得越来越重要。国际化是指设计软件时使其能够适应不同语言和地区的需求,而本地化则是将软件的内容翻译和调整为特定地区的语言、格式和习俗。在Java中,国际化与本地化的实现主要依赖于和Locale类,这些工具帮助开发者轻松地管理和加载多语言资源。本文将介绍国际化与本地化的基本概念,讲解如何管理和加载本地化资源,并重点展示如何使用进行多语言支持。原创 2024-12-20 14:19:54 · 1050 阅读 · 0 评论 -
49天精通Java(Day 27):正则表达式
正则表达式(Regular Expression)是一种用于描述文本模式的工具,常用于字符串的搜索、替换和验证。它强大而灵活,但由于其复杂的语法,许多初学者在使用时感到困惑。Java 提供了强大的正则表达式 API,使得开发者可以轻松地在应用中处理复杂的文本匹配任务。本文将详细介绍正则表达式的基本语法,展示如何使用Java正则API进行匹配与替换,并探讨正则表达式的高级用法。本文将首先介绍正则表达式的基本语法,包括字符类、量词、分组与反向引用等。原创 2024-12-20 14:19:46 · 756 阅读 · 0 评论 -
49天精通Java(Day 26): Stream API与并行流
Java 8引入的Stream API是一个强大的工具,它让我们能够以声明式的方式处理集合数据。Stream API支持多种数据处理操作,包括过滤、映射、排序、聚合等,极大地简化了数据处理的代码。除此之外,Stream API还提供了并行流的功能,使得开发者可以利用多核处理器的优势,显著提高数据处理的性能。本文将深入探讨Stream API的中间操作与终端操作,以及并行流的实现与优化,并通过案例示范其在集合处理中的实际应用。原创 2024-12-20 14:19:36 · 1078 阅读 · 0 评论 -
49天精通Java(Day 25):Java的Lambda表达式
Lambda表达式是Java 8引入的一项强大功能,它使得Java的编程风格更加简洁和灵活。通过Lambda表达式,开发者可以将行为(如函数或代码块)作为参数传递,使代码更加模块化和可读。结合函数式接口和方法引用,Lambda表达式极大地简化了Java代码中的回调、事件处理和数据处理逻辑。此外,Lambda表达式还与Stream API密切相关,为Java提供了强大的数据流处理能力。本文将详细介绍Java中的Lambda表达式,包括其语法、作用,以及与函数式接口和方法引用的关系。原创 2024-12-19 08:46:19 · 1019 阅读 · 0 评论 -
49天精通Java(Day 24):时间与日期API
在Java 8之前,处理日期和时间是一项令人头痛的任务。传统的Date类和Calendar类设计不合理,易用性差,且线程不安全。为了解决这些问题,Java 8引入了全新的时间和日期API,它基于ISO-8601标准,线程安全,功能强大且易于使用。本文将详细介绍Java 8中的新时间日期API,包括LocalDateLocalTime的使用方法,并探讨时间操作与时区管理的相关技术。Java 8引入的时间与日期API为开发者提供了一套全新的、现代化的工具来处理日期和时间。原创 2024-12-19 08:46:03 · 905 阅读 · 0 评论 -
49天精通Java(Day 23):文件与网络编程
在现代软件开发中,网络通信与文件操作是不可或缺的两大领域。Java作为一个功能强大的编程语言,提供了完善的API来处理这些任务。Socket编程是网络通信的基础,它允许两个设备之间进行数据传输;URL和HttpURLConnection类为开发者提供了便捷的工具来发起和处理HTTP请求;而NIO2则对传统的文件操作进行了优化,极大提升了文件处理的效率与灵活性。本文将通过详细的代码示例和概念解析,帮助读者掌握文件与网络编程的核心技术。原创 2024-12-18 22:01:25 · 955 阅读 · 0 评论 -
49天精通Java(Day 22):Java内存模型与并发编程
在多线程编程中,内存的可见性和一致性是两个重要的问题。Java内存模型(Java Memory Model, JMM)定义了在多线程环境下,Java程序中的变量如何在不同线程之间共享,解决了内存可见性和重排序问题。此外,Java并发包()为开发者提供了丰富的并发工具类,极大地简化了并发编程的复杂性。本文将详细介绍JMM的基本概念、Volatile与Atomic操作的使用,以及并发包中的高级工具,帮助读者更好地掌握并发编程的技巧。原创 2024-12-18 09:26:44 · 801 阅读 · 0 评论 -
49天精通Java(Day 21):JVM内存管理与垃圾回收
Java的强大不仅在于它的跨平台特性,还在于它的自动内存管理机制。JVM(Java Virtual Machine)为Java程序提供了自动垃圾回收功能,使得开发者无需手动管理内存分配和释放。这极大地减少了内存泄漏和悬挂指针等问题的发生。然而,要深入理解Java的性能和调优,必须了解JVM的内存模型、垃圾回收算法以及内存泄漏的检测与优化方法。JVM内存管理和垃圾回收机制是Java应用程序稳定高效运行的核心。在本文中,我们将介绍JVM内存模型与区域划分、常见的垃圾回收算法与回收器,以及如何检测和优化内存泄漏。原创 2024-12-18 09:26:12 · 1119 阅读 · 0 评论 -
49天精通Java(Day 20):注解与元数据
随着Java语言的发展,注解(Annotations)在Java编程中的地位变得越来越重要。注解不仅仅用于提供代码的元信息,还在框架、工具以及编译器中起到了重要作用。本篇文章将详细解析注解的概念与类型,讲解如何自定义注解及其运行时处理方式,并且介绍一些常见的内置注解,如@Override等。通过学习这些知识,你将能够在实际项目中更好地利用注解来提升代码的可读性、可维护性和功能性。Java注解(Annotations)是一种为代码添加元数据的机制,它允许开发者在类、方法、字段、参数等位置附加信息。原创 2024-12-17 09:55:51 · 1099 阅读 · 0 评论 -
49天精通Java(Day 19):Java的反射机制
Java的反射机制是一种强大的工具,使得程序在运行时能够动态地获取类的内部信息,并操作类的成员。反射广泛应用于框架开发、动态代理、序列化和依赖注入等领域。本文将介绍反射的基本原理与API、类加载器与动态代理的实现,并深入探讨反射在框架中的应用,结合案例、源码分析、优缺点对比、以及测试用例,帮助读者全面理解反射机制的实际应用。原创 2024-12-17 09:55:40 · 1013 阅读 · 0 评论 -
49天精通Java(Day 18):并发与线程池
🏆本文收录于专栏,专业攻坚指数级提升持续更新中,up!up!up!!原创 2024-12-17 09:55:29 · 1098 阅读 · 0 评论 -
49天精通Java(Day 17):多线程编程基础
🏆本文收录于专栏,专业攻坚指数级提升持续更新中,up!up!up!!原创 2024-12-17 09:55:18 · 1187 阅读 · 0 评论 -
49天精通Java(Day 16):NIO与非阻塞IO
🏆本文收录于专栏,专业攻坚指数级提升持续更新中,up!up!up!!原创 2024-12-17 09:55:08 · 798 阅读 · 0 评论 -
49天精通Java(Day 15):Java的输入输出(IO)操作
🏆本文收录于专栏,专业攻坚指数级提升持续更新中,up!up!up!!原创 2024-12-16 19:19:26 · 1128 阅读 · 0 评论 -
49天精通Java(Day 14):泛型与枚举
🏆本文收录于专栏,专业攻坚指数级提升持续更新中,up!up!up!!原创 2024-12-16 17:33:54 · 1139 阅读 · 0 评论 -
49天精通Java(Day 13):Java集合框架概述
Java集合框架(Java Collections Framework, JCF)是一个统一的架构,用于表示和操作一组数据。集合框架提供了一组接口、实现类和算法,使开发者能够以标准化的方式处理集合(例如列表、集合、映射)。接口:定义了集合的基本操作,如CollectionListSetMap等。实现类:实现接口的具体类,如ArrayListHashSetHashMap等。算法:定义在类中的一组静态方法,用于操作集合,如排序、搜索、混排等。原创 2024-12-16 17:33:45 · 1060 阅读 · 0 评论 -
49天精通Java(Day 12):包与访问控制
包(Package)是Java中用于组织类和接口的命名空间。它不仅有助于避免类名冲突,还可以通过合理的层级结构组织代码,使项目更加清晰、可维护。包还与访问控制结合使用,可以控制类和成员的可见性。组织类和接口:将相关的类和接口放在同一个包中,以便于管理和维护。避免命名冲突:不同包中的类可以有相同的名字,但不会产生冲突。控制访问范围:通过包与访问控制符的结合,可以定义类和成员的可见性。定义包的语法非常简单。通常,包的声明语句放在Java源文件的最前面(在所有的import语句和类声明之前)。原创 2024-12-16 17:33:32 · 690 阅读 · 0 评论 -
49天精通Java(Day 11):异常处理机制
在Java中,除了使用内置的异常类外,还可以创建自定义异常类,以满足特定的错误处理需求。自定义异常类通常继承自Exception或。创建并使用自定义异常。// 自定义异常类// 验证年龄的方法} else {try {创建了一个自定义异常类,用于处理年龄不合法的情况。方法根据年龄是否合格,决定是否抛出自定义异常。在main方法中,尝试验证年龄,如果年龄不合法,则捕获并处理自定义异常。原创 2024-12-16 17:33:24 · 822 阅读 · 0 评论