自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (3)
  • 收藏
  • 关注

原创 深入解析Go设计模式:命令模式实战

命令模式是一种行为型设计模式,它将请求封装为对象,实现调用者与接收者的解耦。该模式包含五个核心角色:命令接口、具体命令、接收者、调用者和客户端。实现时需定义命令接口和接收者,创建具体命令类绑定接收者,最后通过调用者执行命令。其优点在于职责解耦、扩展性强、支持复杂操作管理,但存在代码冗余、间接调用开销等缺点。在Go语言中应用时需注意错误处理和泛型限制。

2025-08-10 08:32:47 399

原创 Go语言接口实战指南

Go语言接口是抽象类型,定义方法集合规范对象行为。接口隐式实现,类型只需实现所有方法即可自动满足接口。实现方式包括值接收者(操作副本)和指针接收者(操作原对象),各有适用场景。接口支持多态,同一变量可引用不同实现实例。空接口interface{}可存储任意值(1.18+建议用any替代)。通过类型断言可验证接口实际类型。接口支持组合,通过合并多个接口创建新接口。特性包括隐式实现、多态支持、类型断言和组合能力,为Go提供了灵活的类型系统。

2025-08-09 07:46:51 335

原创 Go通道操作全解析:从基础到高并发模式

Go语言中的通道(channel)是一种引用类型,用于协程间通信。通道分为无缓冲(同步阻塞)和有缓冲(异步)两种。无缓冲通道要求发送和接收同步进行,否则会阻塞;有缓冲通道允许暂存指定数量的元素。通道支持发送(ch<-data)、接收(data:=<-ch)和关闭(close(ch))操作。常见使用模式包括:1)基础通信(同步/异步);2)高并发模式(生产者-消费者、工作池、多路复用)。select语句可监控多路通道,实现非阻塞或超时控制。通道是Go并发编程的核心机制之一。

2025-08-08 09:06:00 746 1

原创 深入解析Go设计模式:责任链模式实战

责任链模式是一种行为设计模式,通过构建处理者链来传递请求,实现请求发送方与处理方的解耦。核心组件包括处理者接口、具体处理者、客户端和请求对象。每个处理者可选择处理请求或传递给下一处理者,支持动态扩展和灵活调整处理流程。该模式的优点包括降低耦合度、动态扩展性强、符合单一职责原则;缺点则涉及性能风险、调试复杂度和请求遗漏等问题。典型实现需定义统一处理接口,构建处理链,并确保请求能在链中正确传递。适用于多级审批、日志处理等场景。

2025-08-07 10:44:04 1074

原创 FluidHTTP:支持HTTP/3的轻量级客户端

FluidHTTP是一款基于Go语言开发的跨协议HTTP客户端工具,支持HTTP/1.1和HTTP/3.0协议。

2025-08-06 10:40:43 1032

原创 下一代传输协议:QUIC技术详解与quic-go编程实践

QUIC协议是一种基于UDP的现代网络传输协议,由Google开发,现已成为HTTP/3的基础。相比传统TCP协议,QUIC具有以下优势:1)0-RTT连接减少延迟;2)多路复用避免队头阻塞;3)原生加密保障安全;4)支持连接迁移。本文通过quic-go实现展示了HTTP/3服务的搭建过程,包括服务端配置、路由处理及客户端调用,并通过抓包验证了QUIC协议的实际应用。测试结果表明,QUIC协议能有效提升网络传输效率,适用于需要低延迟、高可靠的现代应用场景。

2025-08-05 11:36:51 809

原创 深入解析Go设计模式:策略模式实战

策略模式是一种行为设计模式,允许在运行时动态切换算法。

2025-08-04 17:04:13 694

原创 Java代码加扰混淆全指南

Java程序需要加扰混淆以保护知识产权,因为编译后的class文件容易被反编译还原为可读性高的源代码。通过proguard-maven-plugin插件可以实现代码混淆,在pom.xml中配置混淆参数,并配合proguard.cfg文件控制混淆规则。

2025-08-03 09:47:29 1169

原创 深入解析Go设计模式:适配器模式实战

适配器模式是一种结构型设计模式,通过中间层转换使不兼容接口协同工作,分为对象适配器(组合实现)和类适配器(继承实现)。对象适配器更灵活,支持多对象适配且耦合度低;类适配器效率高但限制多。该模式能提高代码复用性和扩展性,但会增加系统复杂度。适用场景包括第三方库整合、系统扩展等,其中对象适配器更推荐用于多接口兼容和性能敏感场景。

2025-08-01 12:11:19 1513

原创 深入解析Go设计模式:享元模式实战

享元模式是一种用于优化内存使用的设计模式,通过共享对象的内在状态(固定部分)来减少重复创建。该模式包含享元对象、享元工厂和外部状态三个关键角色:工厂管理对象池,当请求对象不存在时创建新实例;外部状态由调用者维护。

2025-07-31 09:52:31 808

原创 深入解析Go设计模式:代理模式实战

代理模式是一种结构型设计模式,它通过引入代理对象来控制对真实对象的访问。这种设计方式可以在不修改原有对象代码的前提下,实现对功能的增强。其核心思想是为真实对象创建一个代理,在访问前或访问后插入额外的处理逻辑。如图所示,服务调用者向代理对象发送请求消息,由代理对象调用真实服务接口并将结果返回给服务调用者。在代理模式中,开发者可以通过代理对象添加额外的处理逻辑,例如实现访问限流和权限控制等功能。

2025-07-30 10:32:29 735

原创 深入解析Go设计模式:组合模式实战

Go语言中的组合模式是一种结构型设计模式,它采用树形结构来组织对象,以表达"部分-整体"的层次关系。这种设计使得客户端能够以统一的方式处理单个对象和对象组合。该模式的核心思想是将一组对象视为同类型的单一实例。通过构建树形结构,每个对象独立完成特定任务,并递归地将执行结果传递到顶层对象进行聚合处理。主要应用场景:树形结构数据‌:如文件系统、组织架构‌等存在树形结构关系的数据。‌动态嵌套UI组件‌:如界面菜单、表单控件‌等嵌套形结构。

2025-07-28 08:06:56 1233

原创 深入解析Go设计模式:对象池模式实战

对象池模式是一种创建型设计模式,通过复用预先创建的对象实例来提升系统性能,特别适用于高并发或对象创建成本高的场景。文章介绍了两种Go语言实现方式:标准库sync.Pool和缓冲通道方式。sync.Pool适合临时对象复用,采用无锁设计性能更优;而通道方式更适合长期资源管理,支持容量控制和超时机制。两种方式各有优势,前者适用于高频创建/销毁的轻量对象,后者则适合管理数据库连接等昂贵资源。实现时需根据具体场景选择,并注意对象生命周期的差异。

2025-07-27 15:58:26 871

原创 深入解析Go设计模式:原型模式实战

摘要:原型模式是一种创建型设计模式,通过复制现有对象实例来创建新对象,适用于对象创建成本高的场景。实现时需定义原型接口(如encoder)并实现Clone方法。示例展示了stringEncoder结构体如何实现该接口,通过Clone方法复制对象并保持原有属性。运行结果验证了原型对象和克隆对象具有相同功能但不同内存地址,实现了对象的快速复制。

2025-07-27 10:36:47 437

原创 logback多进程日志轮转混乱解决方案

摘要:当多进程共享同一日志文件时,Logback的按天轮转机制可能导致日志写入混乱。问题根源在于多个进程持有的文件句柄无法同步切换,造成部分日志仍写入旧文件。解决方案有两种:1)不配置<file>标签,让日志文件名直接包含日期格式;2)修改Logback源码,在RollingAppender.java中增加创建最新日志文件链接的功能。第一种方案更简单实用,而第二种方案适用于需要保持固定文件名(如log.log)指向最新日志文件的场景。

2025-07-26 14:24:37 430

原创 深入解析Go设计模式:工厂模式实战

工厂模式是一种创建型设计模式,通过封装对象创建逻辑,解耦调用者与具体实现类的依赖关系‌。Go工厂模式具体可以细分为简单工厂模式、工厂方法模式和抽象工厂模式。

2025-07-26 09:52:04 557

原创 Go设计模式之单例设计模式:双重检查锁

本文介绍了Go语言中单例模式的两种线程安全实现方式。第一种基于sync.Mutex加锁实现,通过互斥锁保证并发安全,但每次调用都会触发锁操作影响性能。第二种采用双重检查锁机制优化,仅在首次创建实例时加锁,减少了锁操作次数。文章详细对比了两种实现代码,并指出双重检查锁需特别注意解锁时机。最后建议优先使用标准库sync.Once实现单例模式,因其内部已封装原子操作和锁机制,使用更简洁安全。两种方式都能保证高并发环境下的线程安全,但sync.Once更符合Go语言简洁优雅的设计哲学。

2025-07-23 11:30:01 373

原创 Go设计模式之单例设计模式

单例模式是一种保证类只有一个实例的设计模式,提供全局访问点。主要用于需要唯一实例的场景,如数据库连接池、日志处理器等。实现方式有懒汉式(首次调用时初始化,使用sync.Once保证线程安全)和饿汉式(包加载时初始化)。优点是节省资源、提升性能;缺点是扩展性差、可能导致代码耦合。该模式适用于需要严格控制实例数量的场景。

2025-07-21 08:05:22 351

quic-go实现的HTTP3服务端与客户端代码

quic-go实现的HTTP3服务端与客户端代码,适用于使用go语言开发的http服务场景。

2025-08-05

Go语言实现的祖冲之算法ZUC

Go语言实现的祖冲之算法,实现加密、解密功能,共包括common、confst、eea3、zuc四个文件,可按需修改const里面的D。

2025-07-30

Aspose.Word11.3.dll

Aspose.Word11.3.dll .net framework4.0平台 亲测可用

2024-11-22

C语言 版 约瑟夫环

约瑟夫环 数据结构 C语言版,栈。密码,任务,报数

2010-10-19

webjs-电子白板.zip

用 nodejs+websocket+canvas 实现的电子白板基本功能齐全,可参考

2021-05-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除