logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

传值还是传引用?Java 中的基本数据类型与对象传递机制解析

Java方法参数传递机制解析:基本数据类型采用值传递,方法内修改不影响原值;对象类型传递引用副本,方法内修改会影响原对象;String类型由于不可变性,行为类似基本数据类型。通过示例代码展示了int、Person和String三种类型的参数传递差异,说明在Java中所有参数传递本质上都是值传递,但对象类型传递的是引用的副本,而基本数据类型传递的是值的副本。

文章图片
#java#开发语言
Java 单元测试全攻略:JUnit 生命周期、覆盖率提升、自动化框架与 Mock 技术

本文总结了阿里巴巴Java开发手册中的单元测试要点,强调单元测试的核心价值在于提前发现问题、保证重构安全、提升代码质量和降低维护成本。关键结论包括:1)单元测试必须有明确断言而非仅看绿色条;2)演示了JUnit测试案例和覆盖率报告;3)详细解释了JUnit生命周期注解(@BeforeAll、@BeforeEach、@AfterEach、@AfterAll)的使用场景与案例。文章通过具体代码示例展示

文章图片
#java#单元测试#junit
深入理解 Java 序列化:实现 Serializable 接口与 serialVersionUID 的重要性

Java序列化机制解析:Serializable接口与serialVersionUID的作用 摘要:Java序列化通过Serializable接口实现对象与字节流的相互转换,主要用于对象持久化和网络传输。实现时只需让目标类实现Serializable标记接口,并通过ObjectOutputStream/ObjectInputStream进行读写操作。核心机制serialVersionUID用于版本

文章图片
#java#php#开发语言
深入理解 Java 泛型的通配符:? extends T 和 ? super T

本文介绍了Java泛型中的通配符机制,重点分析了? extends T(上界通配符)和? super T(下界通配符)的使用场景与特性。上界通配符允许安全读取数据但不能写入,而下界通配符支持写入操作但只能读取Object类型数据。文章通过代码示例演示了两种通配符的实际应用,并解释了PECS原则(Producer Extends, Consumer Super)来指导正确选择通配符类型。最后展示了通

文章图片
#java#开发语言
阿里巴巴 Java 开发手册解读:DO、DTO、BO、AO、VO、Query 的区别与用法

摘要:本文解析阿里巴巴Java开发手册中的六大对象定义(DO、DTO、BO、AO、VO、Query),通过用户登录案例说明其应用场景。DO对应数据库表,AO处理前端请求,BO封装业务逻辑,DTO用于跨系统传输,VO负责前端展示,Query管理查询条件。文章强调分层架构的核心是职责分离,避免直接暴露数据库对象,禁用Map传参,确保各层数据对象各司其职,实现高内聚低耦合的设计规范。(150字)

文章图片
#java#开发语言
Java 中 int 与 Integer 的全面解析:机制、陷阱与最佳实践

本文系统梳理了Java中int与Integer的区别与使用注意事项。int是基本数据类型,而Integer是包装类,两者可通过自动装箱/拆箱互转,但存在空指针异常、性能损耗和比较陷阱等问题。文章详细解析了自动拆箱时的空指针风险、频繁转换的性能影响、==与equals()的比较差异、拆箱后的溢出问题以及在集合中的使用限制,并提供了安全拆箱、性能优化和正确比较的解决方案。建议在性能敏感场景优先使用in

文章图片
#java#开发语言
深入理解 Java 集合中的去重机制:为什么同时需要 hashCode 和 equals

本文深入解析了Java中Set自动去重的实现机制。核心在于hashCode和equals方法的协同工作:hashCode用于快速定位存储位置(O(1)时间复杂度),equals则精确判断对象是否相等。仅用hashCode会因哈希冲突导致误判,仅用equals则性能低下。文章通过源码分析、流程图解和生活类比(机场安检模型),阐明了两者的分工:hashCode是"粗筛",equal

文章图片
#java#开发语言
Java 8 与 Java 9 之后:String 实现的关键差异

Java 9对String实现进行了重大优化,底层存储从char[]改为byte[]+coder标记,支持LATIN1/UTF-16动态编码。这一改变使ASCII字符存储空间减少50%,提升了内存利用率和操作性能。相关类(StringBuilder等)也同步调整,保持编码一致性。虽然API保持不变,但内存占用和运行效率显著提升,尤其适合文本密集型应用。该优化是Java 9最重要的性能改进之一。

文章图片
#java#开发语言
一篇搞懂 Java 四种引用:ReferenceQueue 实战 + ThreadLocalMap 为何 key 用弱引用

本文详细介绍了Java中的四种引用类型及其在垃圾回收中的作用: 强引用(Strong Reference):最常见的引用类型,只要存在强引用,对象就不会被GC回收。通过断开引用链(设为null)可使其被回收。 软引用(SoftReference):在内存充足时保留对象,内存紧张时会被GC回收,常用于缓存实现。通过内存压力测试可观察到回收过程。 弱引用(WeakReference):只要发生GC就会

文章图片
#java#开发语言
Java 线程池中 execute() 和 submit() 的区别(源码 & 实战全解析)

Java线程池execute()与submit()方法核心区别 execute()和submit()是Java线程池最常用的两个方法,主要差异在于: 功能定位 execute():仅执行任务,不关心结果 submit():管理任务,可获取Future返回值 核心差异 execute()直接抛出异常,submit()将异常封装到Future submit()支持任务取消、结果获取和批量管理 使用场景

文章图片
#java#开发语言
    共 64 条
  • 1
  • 2
  • 3
  • 7
  • 请选择