首页
文章归档
登录
菜单
首页
文章归档
JavaDog程序狗
归档
2025 年 06 月
【Java】值传递还是引用传递?女朋友都会的基础问题,你竟然还模糊!
2025-06-05
Java基础
#Java
#后端
本文深入解析Java参数传递。强调Java中只有值传递:基本类型传递值副本,对象传递其引用副本。解释了为何修改对象属性会生效,而方法内重新指向新对象却不影响原对象,以及如何正确处理对象修改。旨在消除误解,助你掌握Java参数传递的奥秘。
【Java】集合遍历remove-add操作,这些坑你掉过几个
2025-06-04
Java基础
#Java
在Java中,遍历集合时直接修改元素(如add/remove)会引发ConcurrentModificationException,因迭代器通过modCount检测到非法修改。正确做法包括使用Iterator的remove()方法、Java8的removeIf(),或倒序遍历List。添加元素需先存入临时集合后统一合并。处理HashMap/HashSet需通过entrySet或keySet的迭代器操作。建议优先采用removeIf或Iterator,避免直接修改,确保数据一致性。
2025 年 05 月
【Java】面试必问!equals和==傻傻分不清?
2025-05-30
Java基础
#Java
#后端
摘要:在Java中,==与equals的核心区别在于:==用于比较基本类型值或引用类型对象的内存地址(即是否为同一实例),而equals方法默认比较对象身份,但可被重写(如String类)以实现内容比较。对于基本类型,两者行为一致;引用类型中,new String("str")与"str"的==可能返回不同结果,因字符串常量池机制。自定义对象需重写equals(及hashCode)以实现逻辑相等判断,数组比较需用Arrays.equals。掌握此区别可避免面试与实际开发中的常见陷阱。
【工具】2025新发现3款宝藏工具
2025-05-27
开发工具
#工具
本文推荐了三款实用工具助力程序员提升效率、快乐摸鱼。AskManyAI聚合多个顶尖AI大模型,能解答各类问题;WinMemoryCleaner可清理内存、应对检查;ResponsivelyApp能模拟多设备显示效果,方便前端开发。
【Java】还沉迷于前女友的Java8,快看JDK 21六大核心新特性
2025-05-24
Java基础
#Java
#jdk
JDK 21推出六大核心特性:记录模式简化数据类,自动生成必要方法;模式匹配Switch增强类型分支处理;虚拟线程以轻量级纤程实现百万级并发;结构化并发统一管理线程组及异常;密封类控制继承权限提升类型安全;增强断言支持表达式内联提升调试效率。这些特性显著提升代码简洁性、并发性能及类型安全性,适用于微服务、高并发场景及框架设计,助力开发者高效构建现代化应用。
【Java】打瓦弟史诗级过脑,彻底搞懂Java算法复杂度
2025-05-21
Java基础
#Java
#算法
本文以赛车比赛类比,深入讲解 Java 算法复杂度。算法复杂度分时间和空间复杂度,前者如赛车速度,后者似油耗。介绍了常见的时间复杂度(O(1)、O(n)、O(n²)等)和空间复杂度(O(1)、O(n)等)及陷阱。通过代码实战演示复杂度分析,强调开发中要平衡二者,找到速度与油耗的最佳平衡点。
【Java】小老弟,别再被Java深拷贝浅拷贝绕晕啦
2025-05-18
Java基础
#Java
#深拷贝
#浅拷贝
本文以代码和图解形式剖析 Java 对象深拷贝与浅拷贝。浅拷贝复制基本类型属性值,引用类型仅复制引用,新原对象引用属性指向同一地址;深拷贝对引用类型也递归创建新对象,指向不同地址。
【Java】5分钟搞懂CompletableFuture与线程池的配置与使用
2025-05-18
Java基础
#Java
#线程
CompletableFuture结合线程池是Java异步编程的核心工具。通过supplyAsync发起任务,thenApply/thenAccept链式处理结果,exceptionally捕获异常,实现高效异步编排。线程池(如Fixed、Cached、自定义ThreadPoolExecutor)需合理配置核心线程数、最大线程数、任务队列及拒绝策略,避免资源浪费或任务阻塞。
【Spring】AOP通知加载顺序比前任更难搞?来看异常时执行逻辑全解析
2025-05-16
Java基础
#Spring
#Aop
#Java
本文解析Spring AOP通知执行流程,涵盖五种通知类型(前置、后置、返回、异常、环绕)及其正常与异常场景下的执行顺序。正常顺序为:环绕开始→前置→目标方法→环绕结束→返回→后置;异常时,流程变为:环绕开始→前置→目标方法→异常通知→后置,且环绕结束部分仅在proceed()后抛出异常时执行。后置通知始终执行,环绕通知的后半部分受异常抛出时机影响。附代码示例验证流程及异常处理逻辑。
【Java】女朋友都抱怨了,别再粗暴停止线程池啦!
2025-05-15
Java基础
#Java
#ThreadLocal
#线程
本文围绕Java线程池优雅停止展开。先形象解释线程池概念,强调优雅停止可避免数据丢失、保障系统稳定。介绍shutdown()等核心方法及特点,给出电商、数据分析等业务场景应用示例和代码示例。
上一页
1 / 10
下一页