会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
SevenCoding
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
6
7
8
9
10
11
12
13
14
···
16
下一页
2025年3月30日
Java24发布,精心总结
摘要: Java 24作为2025年3月发布的最新版本,延续了Java平台每半年发布一次的节奏,带来了24项重要改进。本文将按照核心改进领域分类,详细解析每个特性的技术原理和实际价值,帮助开发者全面了解这一版本的能力边界和应用场景。 不过Java24是自Java 21 以来的第三个非长期支持版本,下一个长期
阅读全文
posted @ 2025-03-30 14:03 程序员Seven
阅读(763)
评论(0)
推荐(0)
2025年3月28日
史上最全EffectiveJava总结(二)
摘要: 方法 49、检查参数的有效性 每次编写方法或构造函数时,都应该考虑参数存在哪些限制,并在文档中记录下来,然后在方法的开头显式地检查。 如果没有在方法开头就验证参数,可能会违反故障原子性。因为方法可能会在执行过程中出现让人困惑的异常而失败,或者计算出错误的结果然后返回,甚至可能埋藏隐患,导致将来在不确
阅读全文
posted @ 2025-03-28 08:15 程序员Seven
阅读(468)
评论(0)
推荐(0)
2025年3月25日
史上最全EffectiveJava总结(一)
摘要: 创建和销毁对象 1、静态工厂方法代替构造器 优点 静态工厂方法有名称,能确切地描述正被返回的对象。 不必每次调用都创建一个新的对象。 可以返回原返回类型的任何子类对象。 创建参数化类型实例时更加简洁,比如调用构造 HashMap 时,使用 Map < String,List < String > m
阅读全文
posted @ 2025-03-25 08:15 程序员Seven
阅读(598)
评论(0)
推荐(1)
2025年3月24日
【Guava工具类】Strings&Ints
摘要: String相关工具 Strings Guava 提供了一系列用于字符串处理的工具: 对字符串为null或空的处理 nullToEmpty(@Nullable String string):如果非空,则返回给定的字符串;否则返回空字符串 public static String nullToEmpt
阅读全文
posted @ 2025-03-24 08:15 程序员Seven
阅读(327)
评论(0)
推荐(0)
2025年3月20日
解析Collections工具类主要功能
摘要: Collections 是 JDK 提供的一个工具类,位于 java.util 包下,提供了一系列的静态方法,方便我们对集合进行各种操作,算是集合框架的一个大管家。 大致看一下方法名和参数就能知道这个方法是干嘛的: 排序操作 reverse(List list):反转顺序 shuffle(List
阅读全文
posted @ 2025-03-20 08:15 程序员Seven
阅读(209)
评论(0)
推荐(0)
2025年3月18日
深入探索java.util.Objects工具类
摘要: Java 的 Objects 类是一个实用工具类,包含了一系列静态方法,用于处理对象。它位于 java.util 包中,自 Java 7 引入。Objects 类的主要目的是降低代码中的空指针异常(NullPointerException) 风险,同时提供一些非常实用的方法供我们使用。 Object
阅读全文
posted @ 2025-03-18 08:15 程序员Seven
阅读(260)
评论(0)
推荐(0)
2025年3月17日
Arrays工具类教你优雅地管理数组数据
摘要: 数组专用工具类指的是 java.util.Arrays 类,基本上常见的数组操作,这个类都提供了静态方法可供直接调用。毕竟数组本身想完成这些操作还是挺麻烦的,有了这层封装,就方便多了。 package java.util; /** * @author Josh Bloch * @author Nea
阅读全文
posted @ 2025-03-17 08:15 程序员Seven
阅读(456)
评论(0)
推荐(0)
2025年3月13日
SpringCloud带你走进微服务的世界
摘要: 认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 单体架构 单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。 单体架构的优缺点如下: 优点: 架构简单 部署成本低 缺点: 耦合度高(维护困难、升
阅读全文
posted @ 2025-03-13 08:15 程序员Seven
阅读(970)
评论(2)
推荐(3)
2025年3月12日
【设计模式】使用解释器模式简化复杂的语法规则
摘要: 概述 如上图,设计一个软件用来进行加减计算。我们第一想法就是使用工具类,提供对应的加法和减法的工具方法。 //用于两个整数相加 public static int add(int a,int b){ return a + b; } //用于两个整数相加 public static int add(i
阅读全文
posted @ 2025-03-12 20:15 程序员Seven
阅读(67)
评论(1)
推荐(0)
【设计模式】备忘录模式教你如何优雅地处理状态快照
摘要: 概述 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,很多软件都提供了撤销(Undo)操作,如 Word、记事本、Photoshop、IDEA等软件在编辑时按 Ctrl+Z 组合键时能撤销当前操作
阅读全文
posted @ 2025-03-12 20:09 程序员Seven
阅读(96)
评论(0)
推荐(0)
【设计模式】通过访问者模式实现分离算法与对象结构
摘要: 概述 定义:封装一些作用于某种数据结构中的各元素的操作(将数据结构于元素进行分离),它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 结构 访问者模式包含以下主要角色: 抽象访问者(Visitor)角色:定义了对每一个元素(Element)访问的行为,它的参数就是可以访问的元素,它的
阅读全文
posted @ 2025-03-12 20:04 程序员Seven
阅读(125)
评论(0)
推荐(0)
【设计模式】遍历集合的艺术:深入探索迭代器模式的无限可能
摘要: 概述 定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 结构 迭代器模式主要包含以下角色: 抽象聚合(Aggregate)角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。 具体聚合(ConcreteAggregate)角色:实现抽象聚合类,返回一个具体迭代
阅读全文
posted @ 2025-03-12 19:56 程序员Seven
阅读(69)
评论(0)
推荐(0)
【设计模式】使用中介者模式实现松耦合设计
摘要: 概述 一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即不利于类的复用,也不稳定。例如在下左图中,有六个同事类对象,假如对象1发生变化,那么将会有4个对象受到影响。如果对象2发生变化,那么将会有5个对象受到影响。也就是说
阅读全文
posted @ 2025-03-12 12:33 程序员Seven
阅读(85)
评论(0)
推荐(0)
【设计模式】从事件驱动到即时更新:掌握观察者模式的核心技巧
摘要: 概述 定义:又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。 结构 在观察者模式中有如下角色: Subject:抽象主题(抽象被观察者),抽象
阅读全文
posted @ 2025-03-12 12:28 程序员Seven
阅读(101)
评论(0)
推荐(0)
【设计模式】探索状态模式在现代软件开发中的应用
摘要: 概述 【例】通过按钮来控制一个电梯的状态,一个电梯有开门状态,关门状态,停止状态,运行状态。每一种状态改变,都有可能要根据其他状态来更新处理。例如,如果电梯门现在处于运行时状态,就不能进行开门操作,而如果电梯门是停止状态,就可以执行开门操作。 类图如下: 代码如下: public interface
阅读全文
posted @ 2025-03-12 12:23 程序员Seven
阅读(52)
评论(0)
推荐(0)
【设计模式】责任链模式教你如何优雅地分发任务
摘要: 概述 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址等信息,这
阅读全文
posted @ 2025-03-12 11:46 程序员Seven
阅读(160)
评论(0)
推荐(0)
【设计模式】命令模式助力快速添加新命令而不影响现有代码
摘要: 概述 日常生活中,我们出去吃饭都会遇到下面的场景。 定义: 将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行存储、传递、调用、增加与管理。 结构 命令模式包含以下主要角色: 抽象命令类(Command)角色: 定义命令的接口,
阅读全文
posted @ 2025-03-12 11:38 程序员Seven
阅读(74)
评论(0)
推荐(0)
【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
摘要: 概述 先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿,开发需要选择一款开发工具,当然可以进行代码开发的工具有很多,可以选择Idea进行开发,也可以使用eclipse进行开发,也可以使用其他的一些开发工具。 定义:该模式定义了一系列算
阅读全文
posted @ 2025-03-12 11:38 程序员Seven
阅读(1018)
评论(0)
推荐(1)
2025年3月11日
【设计模式】掌握算法骨架:利用模板方法模式实现代码复用
摘要: 概述 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。 例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号
阅读全文
posted @ 2025-03-11 13:08 程序员Seven
阅读(78)
评论(0)
推荐(0)
【设计模式】享元模式教你如何分离内部与外部状态
摘要: 概述 定义: 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 结构 享元(Flyweight )模式中存在以下两种状态: 内部状态,即不会随着环境的改变而改变的可共享部分。 外部状态,指随环境改
阅读全文
posted @ 2025-03-11 13:04 程序员Seven
阅读(59)
评论(0)
推荐(0)
上一页
1
···
6
7
8
9
10
11
12
13
14
···
16
下一页
公告