- 博客(14)
- 资源 (3)
- 收藏
- 关注

原创 java中lambda表达式到底是个啥?
所以, 总结下来, Lambda表达式在大多数情况下, 是会被编译成静态方法, 当程序运行时, 根据生成的字节码, 通过invokeDynamic调用生成的这个静态方法。
2025-03-31 22:39:10
1528
原创 原创手撕-设计模式之观察者模式
观察者模式是一种非常实用的设计模式,它通过建立对象之间的一对多依赖关系,实现了对象之间的解耦,使得系统更加灵活和可扩展。在实际开发中,当遇到需要一个对象的状态变化通知其他多个对象,而又不想让它们之间形成紧耦合时,观察者模式是一个很好的选择。通过观察者模式,我们可以将系统中的事件发布和事件处理解耦,使得系统各组件之间的依赖关系更加清晰,提高了系统的可扩展性和可维护性。这种设计方式在事件驱动、消息通知、状态监控等场景中尤为适用,能够很好地应对需求的变化和系统的扩展。
2025-06-16 19:43:40
647
原创 原创手撕-设计模式之责任链模式
责任链模式是一种非常实用的设计模式,它通过将请求的发送者和接收者解耦,使得系统更加灵活和可扩展。在实际开发中,当遇到需要多个对象处理同一个请求,并且不希望请求的发送者知道具体由哪个对象处理时,责任链模式是一个很好的选择。通过责任链模式,我们可以将复杂的处理流程分解为多个简单的处理器,每个处理器只负责自己的逻辑,然后通过责任链将它们连接起来,形成一个完整的处理流程。这种设计方式不仅提高了代码的可读性和可维护性,还使得系统更加灵活,能够轻松应对需求的变化。
2025-06-16 18:43:02
688
原创 原创手撕-设计模式之策略模式
策略模式是一种行为型设计模式,其核心思想是:将算法家族封装成独立的策略类,使它们可以相互替换,从而让算法的变化独立于使用算法的客户端。通俗来说, 就是把一堆if else的逻辑代码块, 封装到不同的实现类里面。策略接口(Strategy):定义所有策略的公共接口具体策略类(Concrete Strategy):实现具体算法上下文类(Context):持有策略接口引用,负责调用策略实战重构:用策略模式改造促销系统// 促销策略接口。
2025-06-07 16:06:29
489
原创 原创手撕-设计模式之访问者模式
访问者模式是一种行为型设计模式,其核心思想是将数据结构(如对象集合)与作用于该结构上的操作(算法)分离。通过定义一个独立的 “访问者” 类,封装对不同类型对象的操作,使得新增操作时无需修改原有数据结构的类,只需新增访问者子类即可,符合 “开闭原则”❓❓看不懂没关系!!!记住下面就够了1底层实现:通过方法重写(Override)和重载(Overload)实现双分派机制。2适用场景数据结构稳定(如固定的股票类型、商品类别),但操作频繁变化(如不同节日的促销规则)。典型场景。
2025-05-26 19:06:25
706
原创 内力提升 之 理解分派 - 访问者模式的精髓
Java 方法调用的 “反直觉” 表现源于分派机制时机维度按时机来说, 分派有静态分派(编译时) , 动态分派(运行时).静态分派-重载动态分派-重写按维度来说, 有单分派, 双分派单分派:仅一维类型判断(声明或实际类型)。双分派:需二维类型协作(如元素类型 + 操作类型),Java 需通过访问者模式实现,通过两次动态调用解耦多维度逻辑。核心结论:分派维度决定代码灵活性,双分派是复杂场景下的解耦关键,访问者模式是 Java 的标准解法。
2025-05-23 18:41:53
724
原创 《AI小白到大黑:一文讲明白机器学习中的矩阵操作, 非常重要, 理解Transformer前提》
最近疯狂学习机器学习的过程中,我发现矩阵计算无处不在,尽管代码里一个函数调用就能完成矩阵操作,但只有真正理解其背后的含义,才算真正踏入机器学习的大门。今天,我就用最通俗易懂的语言,带大家认识矩阵的操作,保证让你轻松明白!
2025-05-10 19:52:57
1513
原创 Java 21 sealed + permits 实际应用场景
Java 21 前,类和接口可被任意继承 / 实现,可能引发代码安全与维护问题。若开发的框架被引用且不希望接口被外部实现,缺少sealed和permits会导致实现不便。sealed:用于修饰类或接口,表示该类或接口只能被特定的类继承或实现。permits:用于指定哪些类可以继承或实现被sealed修饰的类或接口。首先,我们定义一个被sealed修饰的接口,并使用permits指定哪些类可以实现它。// 定义一个密封接口,只允许指定的类实现// 处理请求的方法在这个例子中,Handler。
2025-04-23 14:17:49
557
原创 《AI小白到大黑:SpringAI 集成 OpenAI, Chat》
找到 来快速生成项目骨架。注意Initializr界面选择version Spring Boot >= 3.4.0 and < 3.5.0-M1,这里我选择 3.4.5。中添加 OpenAI API Key以及baseUrl,如果用雷丰阳分享的apiKey,用。点击Generate, 然后解压,用IDEA打开解压后的项目,如下。,否则用openAi的官网url。根目录的pom.xml。
2025-04-23 13:47:31
480
原创 《AI小白到大黑:神经网络,绝对能看懂 03》
然后, 用计算出来这个权重-误差负责 的向量矩阵(output_gradient),乘以input的随机权重,就能得到每个权重在这一轮应该更新多少,即每个权重在这个梯度上的调整体现为多少。所以,这里我们用误差,乘以激活函数的导数,能得出来这一轮每个权重在激活函数的运算下对于这个误差要调整多少,即梯度。然后,我们随机一个权重来触发这个学习, 反正后续反向传播会调整这个权重, 所以这里随机权重不影响。小李的结果用来验证output是否正确,然后反向传播来调整参数,所以小李的结果是目标输出。
2025-04-22 10:40:05
617
原创 《AI小白到大黑:神经网络,绝对能看懂 02》
在上一章中, 我们了解了全连接神经网络的作用: 通过输入,算出输出,输出可以是概率,也可以是分布,输出形式取决于具体任务 ——,以及。
2025-04-22 10:39:26
240
原创 《AI小白到大黑:神经网络,绝对能看懂 01》
在机器学习以及大模型的架构中, 神经网络都是非常重要的概念, 弄懂了神经网络的原理, 对于后面的学习会加速, 本文会介绍神经网络的基本概念, 然后手搓一个神经网络, 看完本文绝对能懂注: 本文所有内容都通过AI来验证过, 所以小白们放心去看, 通俗易懂。
2025-04-22 10:38:39
390
原创 效率篇 - MacOS下 IDEA显示类文件字节码
在研究JVM的时候, 需要结合类的字节码来看, IDEA可以通过添加external tools 来快速的查看类文件的字节码。本文的环境是MacOS。
2025-03-29 17:42:32
211
jsp与flex的整合直接拷贝就可以用
2013-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人