
项目总结
文章平均质量分 80
Vic10101
这个作者很懒,什么都没留下…
展开
-
Java 中装饰者模式与策略模式在埋点系统中的应用
在软件开发中,装饰者模式和策略模式是两种常用的设计模式,它们在特定的业务场景下能够发挥巨大的作用。本文将通过一个实际的埋点系统案例,探讨如何在 Java 中运用装饰者模式和策略模式,以及如何结合工厂方法模式来优化代码结构。在实际的开发过程中,合理地运用设计模式能够使我们的代码更加灵活、可维护和可扩展。装饰者模式适合用于在运行时动态地给对象添加职责,而策略模式则适合用于管理多种算法或行为的组合。通过结合工厂方法模式,我们可以进一步简化客户端代码,使系统更加模块化和易于使用。原创 2025-03-25 18:24:45 · 896 阅读 · 0 评论 -
里氏替换原则
System.out.println("期望面积 20,实际面积:" + rect.getArea());System.out.println("信用卡支付:" + amount + "元");System.out.println("微信支付:" + amount + "元");:子类必须保持与父类的契约,确保继承是“is-a”关系(如“企鹅是鸟”不成立,但“麻雀是鸟”成立)。// 输出 20(正确)makeBirdFly(new Penguin());原创 2025-03-24 11:43:58 · 898 阅读 · 0 评论 -
安装PrettyZoo操作指南
Mac Inter芯片安装PrettyZoo的操作指南。原创 2025-03-23 18:06:08 · 453 阅读 · 0 评论 -
单一职责原则&开闭原则&其他开发原则
一个类应该有且仅有一个引起它变化的原因(即一个类只负责一个职责)。原创 2025-03-21 13:55:52 · 1029 阅读 · 0 评论 -
深入理解Java享元模式及其线程安全实践
享元模式(Flyweight Pattern)是一种结构型设计模式,通过共享对象来减少内存占用,从而高效支持大量细粒度的对象。其核心思想是分离对象的内部状态(可共享)和外部状态(不可共享),通过共享内部状态来避免重复创建对象。// 外部状态由参数传入。原创 2025-03-20 23:48:03 · 855 阅读 · 0 评论 -
java修饰者模式
装饰者模式(Decorator Pattern)是一种结构型设计模式,允许通过将对象放入包含行为的特殊封装对象中,动态地为对象添加新的功能。原创 2025-03-20 23:47:09 · 464 阅读 · 0 评论 -
Java动态代理模式深度解析
动态代理的价值:通过解耦核心逻辑与横切关注点,提升代码复用性和可维护性。在 Spring Boot 中的实践默认使用 CGLIB 代理,支持类代理。广泛应用于事务、AOP、数据访问等场景。多 Service 代理方案:通过工厂模式和 Spring 容器管理,实现统一代理逻辑。原创 2025-03-18 23:40:31 · 1788 阅读 · 0 评论 -
Function 和 Consumer函数式接口
/ 输出: HELLO。// 显式Lambda:生成匿名类调用 apply() -> toUpperCase()// 显式Lambda:可能无法内联(需通过 apply() 方法)// 方法引用:直接内联为 toUpperCase()原创 2025-03-16 23:28:36 · 615 阅读 · 0 评论 -
java枚举解析
public void execute() { /* 打开文件逻辑 */ }public void execute() { /* 保存文件逻辑 */ }System.out.println("单例工作...");枚举在需要固定常量集且伴随复杂逻辑时尤其适用,是Java中强大而灵活的特性。activities.put(Day.MONDAY, "会议");SUCCESS(200, "成功"),枚举用于表示固定数量的常量,替代传统的。:单例、策略、状态机等模式的优雅实现。:通过抽象方法和接口实现多态。原创 2025-03-13 21:59:46 · 559 阅读 · 0 评论 -
protected 和private的区别
和 是 Java 中的访问修饰符,用于控制类成员(字段、方法、构造函数等)的访问权限。它们的主要区别在于访问范围和使用场景。以下是它们的区别以及具体的应用场景:定义: 是最严格的访问修饰符,表示成员只能在其所在的类中被访问。访问范围:仅限于当前类: 成员不能被其他类访问,即使是同一个包中的类或子类也不能访问。使用场景:封装类的内部实现: 通常用于隐藏类的内部实现细节,防止外部代码直接访问或修改这些成员。实现类的私有方法:用于实现类的内部逻辑,这些方法仅在类内部使用,对外部隐藏。隐藏字段:避免外部代码直接访原创 2025-03-12 17:16:45 · 768 阅读 · 0 评论 -
BufferedOutputStream、OutputStream和ObjectOutputStream常用流操作类
定义:是Java I/O流中的一个抽象类,是所有字节输出流的父类。功能:它提供了基本的字节输出操作,允许将字节数据写入到目标(如文件、内存、网络等)。所有具体的输出流类(如、等)都继承自。用途:主要用于处理字节数据的输出操作,是其他输出流类的基础。示例代码:java复制 2. 定义:是的一个装饰类,用于对其他输出流进行缓冲处理。功能:它在底层输出流的基础上增加了一个缓冲区,通过缓冲区来优化写入操作的性能。数据首先写入缓冲区,当缓冲区满了或者调用方法时,数据才会被批量写入到目标流中。用原创 2025-03-12 16:34:56 · 676 阅读 · 0 评论 -
Java单例模式深度解析
单例模式(Singleton Pattern)是 Java 中最经典的设计模式之一,用于确保一个类只有一个实例,并提供全局访问点。以下是深度解析,涵盖核心思想、实现方式、线程安全、反射/序列化漏洞及最佳实践。唯一性:确保类只有一个实例。全局访问:通过静态方法或静态变量提供全局访问入口。延迟加载(可选):在首次使用时创建实例,减少资源占用。public class Singleton { private static final Singleton INSTANCE = new Singleton(原创 2025-03-12 11:00:10 · 986 阅读 · 0 评论 -
Maven 的常用指令
快速生成标准项目结构(如 Spring Boot、JavaFX 项目)。:将构建结果发布到远程仓库(如 Nexus、Artifactory)。:本地多模块项目中,将子模块的构建结果提供给其他模块使用。:自动化版本发布(更新版本号、打 Tag、发布到仓库)。:确保使用最新的快照版本(如依赖频繁更新的开发中库)。:分析依赖冲突(如多个版本的库冲突),快速定位问题。:检查未声明但被使用的依赖(或声明但未使用的依赖)。:强制更新远程仓库的快照(Snapshot)依赖。:分析实际生效的配置(如插件、依赖版本)。原创 2025-03-11 13:20:40 · 484 阅读 · 0 评论 -
事务传递机制
在你的代码中,`SerialNumberMysqlService` 继承了 `SerialNumberBaseService`,并且在 `SerialNumberMysqlService` 中重写了 `generateSerialNumberList` 方法,并为其添加了 `@Transactional` 注解。在你的代码中,事务注解被定义在 `generateSerialNumberList` 方法上,而不是在 `generate` 方法上。1. 将事务注解放在父类的 `generate` 方法上。原创 2025-02-27 00:52:35 · 335 阅读 · 0 评论 -
Sprignboot启动异常分析
在spring xml配置文件中引用了数据库地址 所以需要对:等进行转义处理.但是在application.properties/或者application.yml文件并不需要转义,错误和正确方法写在下面了.yml或者properties文件没有被扫描到,需要在pom文件中添加如下.来保证文件都能正常被扫描到并且加载成功.在application.properties/或者application.yml文件中没有添加数据库配置信息.没有加载成功,分析原因如下所示.转载 2022-10-28 10:49:14 · 204 阅读 · 0 评论 -
Curl用法
xml请求示例:curl -k https://127.0.0.1:8080/WebService1.asmx?wsdl/method=https -X POST -H "Content-Type: text/xml;charset=utf-8" -d '原创 2022-10-13 18:00:06 · 452 阅读 · 0 评论 -
新手总结:建立一个springboot项目
新手总结:建立一个springboot项目电脑:Mac 系统软件:IDEA搭建springboot项目new-->Project-->Spring Initralizr"next"异常修改配置修改代理配置apply重新新建一个项目Group:com.vic.serverArtifact:lybookversion:1.0.0jdk :8选择springWeb项目"finish"run一下...原创 2021-04-06 17:40:42 · 136 阅读 · 1 评论