
Java基础
文章平均质量分 91
Java基础
程序猿Mr.wu
最大心愿就是少掉头发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java参数传递终极揭秘:值传递还是引用传递?看完这篇彻底懂了!
Java参数传递遵循值传递原则,对基本类型传递值的副本,对引用类型传递对象引用地址的副本。方法内可通过副本修改对象内容(如属性值),但无法改变原始引用的指向(如new操作或null赋值)。常见误解如String的不可变性、数组/集合的修改等,均源于对"引用副本传递"的误读。关键结论: 对象内容可修改(通过副本操作原对象) 引用指向不可变(副本重定向不影响原引用) 设计初衷:保障安全性(防意外篡改)与一致性(统一传递规则)。面试回答需区分基本类型与引用类型的副本传递本质。原创 2025-08-01 07:00:00 · 1445 阅读 · 0 评论 -
终极指南:Java 枚举的“变身”奥秘——抽象方法与接口实现,别再傻傻分不清!
Java枚举的强大之处在于它不仅可作为常量集合,更能通过抽象方法和接口实现动态行为。抽象方法强制所有枚举常量实现相同功能(如算术运算),体现高内聚性;接口实现则提供灵活扩展能力(如计算策略),支持多态和跨类型复用。关键区别在于:抽象方法定义枚举固有核心行为,接口实现赋予可选扩展能力。实际开发中,若行为是所有枚举成员必备的(如运算执行)用抽象方法;若需扮演不同角色或与其他类共享契约(如策略模式)则用接口。掌握这两种机制,能让枚举从静态常量升级为具有丰富行为的动态工具。原创 2025-07-29 13:51:36 · 909 阅读 · 0 评论 -
Java枚举,你真的用对了吗?深入原理与所有骚操作!
本文全面解析Java枚举的底层实现原理和高级应用技巧。枚举不仅是类型安全的常量集合,其背后隐藏着JVM的精妙设计——编译器会将其转换为final类并实现单例模式。文章详细展示了枚举的7种实用技巧:1)基础常量定义;2)带属性和方法的枚举;3)与switch语句的完美配合;4)实现线程安全单例;5)策略模式应用;6)接口实现扩展性;7)高性能EnumSet/EnumMap应用。通过掌握这些技巧,开发者可以编写更健壮、优雅的Java代码,彻底告别"魔术字符串",提升代码质量和维护性。原创 2025-07-28 18:01:00 · 902 阅读 · 0 评论 -
Java异常分类全解析:从体系结构到实战应用,一篇搞定所有疑难杂症!
Java异常体系采用树形结构,分为Error(致命错误)和Exception(可处理异常)。Exception又分为受检异常(必须处理)和非受检异常(程序逻辑错误)。企业开发中应遵循最佳实践:自定义业务异常、全局异常处理、避免异常控制流程、正确关闭资源。异常处理黄金法则包括精准捕获、早抛晚捕、异常转译、资源保障和完整日志记录。注意finally块的执行特性和性能优化,核心路径避免异常处理影响性能。原创 2025-07-26 10:11:06 · 800 阅读 · 0 评论 -
Java反射:代码里的“透视眼”有多牛?看完这篇你就懂(附深度优缺点剖析)
Java反射是一把威力惊人的“瑞士军刀”,赋予了Java前所未有的动态能力和灵活性,是构建现代复杂框架的基石。但它也是一把不折不扣的“双刃剑”,性能开销、安全风险、可维护性问题如影随形。高手之道,在于审时度势,知其利,更明其害。 在框架底层、通用工具、特定测试场景中大胆拥抱反射的力量;而在日常业务开发、性能敏感区域,则需保持克制,优先选择更优雅、更安全的方案。唯有如此,方能驾驭反射,写出既强大又健壮的Java程序!原创 2025-07-24 14:24:39 · 582 阅读 · 0 评论 -
《Java实体类设计禁忌:用错基本类型竟导致生产事故?90%程序员踩过的坑!》
在开发 Java POJO 时,选择基本数据类型(如 int)还是包装类型(如 Integer)需考虑多个维度:1)空值处理:包装类型支持 null,能明确表示"未赋值"状态;2)性能:基本数据类型更高效,避免装箱/拆箱开销;3)序列化:包装类型更好地处理空值;4)ORM 映射:数据库 NULL 字段对应包装类型更合适;5)泛型集合:必须使用包装类型。黄金法则是:允许为空的属性用包装类型,严格非空且性能敏感的用基本类型,与外部系统交互优先考虑包装类型。原创 2025-07-23 10:36:03 · 845 阅读 · 0 评论 -
Java字符串不可变性:从安全哲学到性能艺术的完美平衡
Java中的String类采用不可变性设计,通过final类声明、私有final字符数组和防御性拷贝等机制确保对象创建后不可修改。这种设计具有五大优势:支持字符串常量池优化内存、缓存哈希值提升集合性能、保障系统安全性、实现天然线程安全以及维护架构稳定性。虽然可通过反射突破限制,但Java通过安全机制和工程规范维护其不可变性。J原创 2025-07-22 07:15:00 · 2453 阅读 · 0 评论