JavaDog程序狗

【设计模式】跟着狗哥复习设计模式(三):抽象工厂模式

上一篇的工厂方法负责做一种产品,这一篇往前走半步:饮品和主食需要成套出现时,交给一家工厂一起创建。本文用豆浆油条、咖啡面包两套早餐,把抽象工厂模式慢慢拆开。

JavaDog程序狗 JavaDog程序狗 发布于 2026-10-29

【设计模式】跟着狗哥复习设计模式(二):工厂方法模式

点一杯咖啡,顾客不用跑进后厨研究咖啡机。写代码也一样:业务说清楚自己要什么,对象怎么创建,可以交给专门的工厂。本文用一个能运行的小例子,把工厂方法模式慢慢拆开。

JavaDog程序狗 JavaDog程序狗 发布于 2026-10-28

【设计模式】跟着狗哥复习设计模式(一):单例模式

单例模式解决一个类只需要一个对象的问题。本文从前台和订单取号讲起,用代码演示饿汉式单例,说明私有构造、唯一对象和统一入口做什么。最后聊聊它适合用在哪,提醒大家:单例只管当前服务,多台服务要用别的办法。

JavaDog程序狗 JavaDog程序狗 发布于 2026-10-27

【Java 新特性】Java 26 !这 10 个新特性,小白看完也能秒懂

Java 26 在 2026 年 3 月 17 号正式 GA,虽然不是 LTS,但一口气塞了 10 个 JEP。这篇文章不堆术语,把 AI 算力、加密合规、启动和并发性能上的实打实改动,拆成你今天就能看懂的人话,每个特性配真实代码和可运行示例。

JavaDog程序狗 JavaDog程序狗 发布于 2026-08-25

【Java】值传递还是引用传递?女朋友都会的基础问题,你竟然还模糊!

本文深入解析Java参数传递。强调Java中只有值传递:基本类型传递值副本,对象传递其引用副本。解释了为何修改对象属性会生效,而方法内重新指向新对象却不影响原对象,以及如何正确处理对象修改。旨在消除误解,助你掌握Java参数传递的奥秘。

JavaDog程序狗 JavaDog程序狗 发布于 2025-06-05

【Java】集合遍历remove-add操作,这些坑你掉过几个

在Java中,遍历集合时直接修改元素(如add/remove)会引发ConcurrentModificationException,因迭代器通过modCount检测到非法修改。正确做法包括使用Iterator的remove()方法、Java8的removeIf(),或倒序遍历List。添加元素需先存入临时集合后统一合并。处理HashMap/HashSet需通过entrySet或keySet的迭代器操作。建议优先采用removeIf或Iterator,避免直接修改,确保数据一致性。

JavaDog程序狗 JavaDog程序狗 发布于 2025-06-04

【Java】面试必问!equals和==傻傻分不清?

摘要:在Java中,==与equals的核心区别在于:==用于比较基本类型值或引用类型对象的内存地址(即是否为同一实例),而equals方法默认比较对象身份,但可被重写(如String类)以实现内容比较。对于基本类型,两者行为一致;引用类型中,new String("str")与"str"的==可能返回不同结果,因字符串常量池机制。自定义对象需重写equals(及hashCode)以实现逻辑相等判断,数组比较需用Arrays.equals。掌握此区别可避免面试与实际开发中的常见陷阱。

JavaDog程序狗 JavaDog程序狗 发布于 2025-05-30

【Java】还沉迷于前女友的Java8,快看JDK 21六大核心新特性

JDK 21推出六大核心特性:记录模式简化数据类,自动生成必要方法;模式匹配Switch增强类型分支处理;虚拟线程以轻量级纤程实现百万级并发;结构化并发统一管理线程组及异常;密封类控制继承权限提升类型安全;增强断言支持表达式内联提升调试效率。这些特性显著提升代码简洁性、并发性能及类型安全性,适用于微服务、高并发场景及框架设计,助力开发者高效构建现代化应用。

JavaDog程序狗 JavaDog程序狗 发布于 2025-05-24

【Java】打瓦弟史诗级过脑,彻底搞懂Java算法复杂度

本文以赛车比赛类比,深入讲解 Java 算法复杂度。算法复杂度分时间和空间复杂度,前者如赛车速度,后者似油耗。介绍了常见的时间复杂度(O(1)、O(n)、O(n²)等)和空间复杂度(O(1)、O(n)等)及陷阱。通过代码实战演示复杂度分析,强调开发中要平衡二者,找到速度与油耗的最佳平衡点。

JavaDog程序狗 JavaDog程序狗 发布于 2025-05-21

【Java】小老弟,别再被Java深拷贝浅拷贝绕晕啦

本文以代码和图解形式剖析 Java 对象深拷贝与浅拷贝。浅拷贝复制基本类型属性值,引用类型仅复制引用,新原对象引用属性指向同一地址;深拷贝对引用类型也递归创建新对象,指向不同地址。

JavaDog程序狗 JavaDog程序狗 发布于 2025-05-18