自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(359)
  • 资源 (2)
  • 收藏
  • 关注

原创 面向服务架构(SOA)及ESB的作用与特点

面向服务架构(Service-Oriented Architecture,SOA)是一种软件设计方法,通过将应用程序功能分解为一组可互操作的来构建分布式系统。这些服务通过定义良好的接口和契约进行通信,独立于底层平台和编程语言。

2025-03-29 12:36:48 478

原创 SOA、ESB与微服务:架构演进与对比分析

理解这三种架构的关系,有助于根据实际业务需求做出合理的架构决策。现代系统设计往往需要吸取各架构的优点,形成适合自身发展的混合模式。

2025-03-29 12:18:47 491

原创 如何理解资源调度对系统性能的提升

资源调度是系统性能优化的核心环节,有效的调度策略可以显著提高资源利用率、减少响应时间和提升系统吞吐量。

2025-03-29 10:52:17 282

原创 Java中优先级队列的实现

Java中的优先级队列是通过类实现的,它是基于**优先级堆(通常是最小堆)**的数据结构。

2025-03-29 10:18:30 279

原创 如何理解优先级队列会提升系统性能

优先级队列是一种特殊的数据结构,它能够根据元素的优先级(而非简单的先进先出)来管理元素的处理顺序。这种特性使其在系统设计中能够显著提升性能。

2025-03-29 10:11:05 193

原创 如何实现往队列头部插入元素

如果需要实时将消息插入到队列头部,推荐使用和方法。如果需要自定义,可以通过继承和扩展实现。如果不需要实时操作,可以使用反转队列。

2025-03-28 09:34:27 240

原创 SSE eventSource.cancel() 触发的处理逻辑

同时,服务端会检测到客户端断开连接,并触发。

2025-03-27 17:37:12 325

原创 SSE SseEmitter.completeWithError(e) 触发的处理逻辑

因此,SseEmitter.completeWithError(e)类来监听 SSE 事件,并需要实现。的情况下,当服务端调用。OkHttp 提供了。

2025-03-27 17:26:47 502

原创 如何优雅的书写debug日志

使用合适的日志级别。使用占位符而非字符串拼接。记录足够的上下文信息。避免记录敏感信息。使用条件日志提高性能。记录完整的异常堆栈。保持日志格式一致。使用 MDC 添加线程上下文。避免过度日志。使用成熟的日志框架。合理配置日志级别和文件管理。通过这些实践,可以写出清晰、有用且易于管理的 Debug 日志,提高代码的可维护性和调试效率。

2025-03-27 11:07:42 254

原创 Java Thread 的 interrupt 机制

在 Java 中,interrupt机制是一种用于协作式线程终止的机制。它通过设置线程的中断状态来通知线程应该停止当前任务。被中断的线程需要主动检查中断状态并做出响应。以下是interrupt。

2025-03-27 10:55:27 223

原创 Java中如何通过设置超时结束线程

等待线程结束,超时后中断线程。Future和:提交任务并设置超时,超时后取消任务。自定义超时机制:轮询检查线程状态,超时后中断线程。:提供更灵活的超时控制。第三方库(如 Guava):使用工具类设置超时。选择合适的方法取决于具体场景和需求。

2025-03-27 10:55:12 269

原创 XXE 漏洞介绍

是一种针对 XML 解析器的漏洞,攻击者可以利用它读取服务器上的文件、发起 SSRF 攻击或导致拒绝服务(DoS)。XXE 漏洞通常发生在应用程序解析用户提供的 XML 数据时,未禁用外部实体引用。XXE 漏洞的危害性较大,可能导致文件读取、SSRF 攻击或拒绝服务。通过禁用外部实体、使用安全的 XML 解析器、验证用户输入等方法,可以有效防止 XXE 漏洞。同时,结合日志监控和文件访问限制,可以进一步增强安全性。

2025-03-24 21:11:45 886

原创 SSRF 漏洞介绍

是一种服务器端漏洞,攻击者可以利用它诱使服务器向内部或外部系统发起恶意请求。SSRF 通常用于访问内部资源、扫描内网、绕过防火墙或发起进一步攻击。SSRF 漏洞的危害性较大,可能导致内部服务暴露、敏感信息泄露或进一步攻击。通过严格验证用户输入、禁用危险协议、使用白名单等方法,可以有效防止 SSRF 漏洞。同时,结合日志监控和请求过滤,可以进一步增强安全性。

2025-03-24 20:47:35 404

原创 CORS 漏洞介绍

是一种允许浏览器跨域访问资源的机制。它通过 HTTP 头来定义哪些外部源可以访问资源。如果配置不当,CORS 可能导致安全漏洞,如敏感数据泄露或未授权访问。CORS 漏洞通常源于配置不当,如过于宽松的或未验证Origin头。通过严格限制允许的域、验证请求头、限制暴露的头信息等方法,可以有效防止 CORS 漏洞。

2025-03-24 18:48:31 773

原创 JSONP 漏洞

是一种用于跨域数据请求的技术,通常用于绕过浏览器的同源策略(Same-Origin Policy)。它通过动态创建<script>标签来加载外部资源,并利用回调函数处理返回的数据。JSONP 是一种过时的跨域技术,存在较大的安全风险。建议优先使用 CORS 等更安全的替代方案。如果必须使用 JSONP,务必严格验证输入、限制敏感数据,并采取其他安全措施来降低风险。

2025-03-24 18:45:45 335

原创 SseEmitter处理IOException的步骤

在 Spring 框架中,当。以下是一个代码示例,展示了。方法出现 IO 异常时,

2025-03-24 13:36:00 192

原创 使用 CA 证书进行签名的步骤

通过以上步骤,你可以使用 CA 证书对 CSR 进行签名,生成受信任的证书。在生成 CSR 时,你需要提供一些信息,如国家、组织、通用名称(域名)等。使用 CA 的私钥和证书对 CSR 进行签名,生成最终的证书。以下是使用 OpenSSL 工具实现这些步骤的详细说明。)用于你的应用程序(如 Web 服务器、客户端认证等)。以下是一个完整的示例,展示如何使用 CA 证书进行签名。首先,生成一个私钥和 CSR 文件。检查输出中的签名信息、有效期等。验证生成的证书是否有效。

2025-03-22 17:15:23 226

原创 IDEA Reformat Code 避免将多行参数或多行方法链调用合并成一行

通过以上步骤,你可以确保在进行代码格式化时,多行参数和多行方法链调用不会被合并成一行。

2025-03-15 14:25:38 241

原创 RAG(Retrieval-Augmented Generation,检索增强生成)

RAG通过结合检索和生成技术,能够显著提升生成模型的准确性和可解释性。检索相关文档:从文档库中找到与问题相关的片段。生成答案:基于检索到的文档和问题生成最终答案。通过合理设计检索模块和生成模块,RAG可以广泛应用于问答系统、对话系统等场景,为用户提供更智能、更准确的服务。

2025-03-13 14:46:15 441

原创 ES的预置分词器

Elasticsearch 的预置分词器适用于不同的场景,开发者可以根据需求选择合适的分析器,或者自定义分词器以满足特定需求。

2025-03-10 15:54:56 784

原创 OpenID Connect(OIDC)协议

以下是OpenID Connect(OIDC)协议的详细介绍和时序图。OIDC是基于OAuth 2.0的身份验证协议,用于实现跨系统的单点登录(SSO)。

2025-03-04 15:11:42 286

原创 OAuth 2.0 协议详解

允许第三方应用在用户授权下,安全地访问用户在其他服务提供者(如Google、Facebook)的受保护资源,而无需共享用户的凭据(如密码)。通过OAuth 2.0,开发者可以在不暴露用户密码的前提下,安全地实现跨系统授权。实际应用中需根据场景选择合适的授权模式,并严格遵循安全最佳实践。4. 重定向回客户端,携带授权码(Authorization Code)用户在授权服务器登录并确认是否授权客户端访问其资源。6. 发送授权码和客户端凭证,请求访问令牌。如果用户同意,授权服务器生成一个短期有效的。

2025-03-04 14:51:32 481

原创 社会工程攻击

社会工程攻击的本质是“攻心为上”,技术防御(如防火墙、加密)无法完全阻止。防范需结合安全意识教育、严格的操作流程和技术工具,形成“人+流程+技术”的综合防护体系。

2025-03-01 18:16:09 784

原创 常见的系统安全架构设计要素和策略

系统安全架构设计是确保系统在开发、部署和运维过程中具备抵御安全威胁的关键手段。通过结合具体业务场景选择合适的安全技术,并定期更新策略,才能构建健壮的系统安全架构。

2025-03-01 16:54:31 1012

原创 动态授权引擎的原理与实现

动态授权引擎是实时根据上下文信息动态调整用户权限的安全组件,常用于零信任架构中。其核心目标是实现“按需授权”,确保用户仅在特定条件下访问资源,提升安全性。动态授权引擎的决策基于 实时上下文(Context) 和 预定义策略,流程如下:输入数据策略评估动态决策持续监控定义策略规则集成上下文数据源部署策略决策点(PDP)在关键节点部署策略执行点(PEP)实时监控与反馈场景:某银行允许员工访问客户数据,但需满足以下条件:动态授权流程:Open Policy Agent (OPA)KeycloakCasb

2025-03-01 16:34:39 877 2

原创 零信任架构:像小区门禁一样保护你的数字世界

想象一下,你住在一个高档小区,传统的安保方式是:只要进了小区大门,保安就默认你是好人,所有楼栋、停车场随便进。但零信任的安保升级了——就算你进了小区大门,进每栋楼、每层电梯、甚至每个房间都要刷卡+刷脸验证。这就是零信任的核心思想:“不管你在哪,不管你是谁,想进门就得验明正身”。为什么需要零信任?以前大家在公司内网办公,就像在小区里活动,默认都是自己人。但现在很多人远程办公、用手机访问公司数据,黑客也可能伪装成员工混进来。传统“只防大门”的方式不够用了,必须每道门都设关卡。零信任就像一套“智能安保系统”,主

2025-03-01 16:20:48 1275

原创 零信任架构

它摒弃传统基于边界的安全防护(如防火墙隔离内外部网络),转而通过动态的、细粒度的访问控制,对所有用户、设备和数据流进行持续验证,最小化攻击面并防范内部威胁。:零信任将与SASE(安全访问服务边缘)、AI驱动的威胁检测深度集成,成为新一代网络安全的基石。零信任架构是应对现代混合IT环境与高级威胁的必然选择。是一种新型网络安全模型,核心理念是。

2025-03-01 16:19:34 1208

原创 安全框架设计中的鉴别框架和访问控制框架

是保障系统安全的核心组成部分。两者协同工作,分别解决“你是谁”和“你能做什么”的问题。以下从设计内容、主要威胁及应对策略展开论述。访问控制框架的目标是确保合法用户仅能访问授权资源,遵循最小权限原则(Principle of Least Privilege)。鉴别框架的核心是验证实体(用户、设备、服务)的身份合法性,确保其声明的身份真实有效。通过融合鉴别与访问控制框架,并持续演进防御策略,才能有效应对日益复杂的网络威胁。

2025-03-01 15:09:38 969

原创 TCP和UDP协议比较

TCP(传输控制协议)和UDP(用户数据报协议)是互联网中两种最常用的传输层协议,它们在设计目标、工作机制和应用场景上有显著区别。根据具体需求,开发者需权衡可靠性与效率,选择最合适的协议。

2025-03-01 13:22:45 470

原创 Redis和MySQL的实时数据同步方案

需根据业务场景选择不同的技术方案,核心目标是保障数据一致性、降低延迟、提升系统可靠性。在业务代码中同步写入 MySQL 和 Redis,通过事务保证原子性。

2025-03-01 12:24:43 836

原创 Redis的主要数据类型及其应用场景

Redis 是一种高性能的键值存储系统,支持多种数据类型,每种类型针对不同的应用场景设计。通过合理选择数据类型,可以充分发挥 Redis 的高性能特性,满足多样化的业务需求。

2025-03-01 12:03:16 774

原创 数据库反规范设计引发的数据不一致问题的解决方案

对于关键业务(如支付),优先强一致性方案;对于非关键业务(如用户动态),可接受最终一致性。最终目标是确保系统在可接受的成本下,满足业务对数据准确性的要求。在反规范设计中,数据不一致问题主要源于冗余数据的多副本更新。反规范化数据一致性问题的解决需结合业务需求和技术手段,核心是在。

2025-03-01 11:52:38 914

原创 数据库反规范设计的核心概念、适用场景及常见方法

在数据库设计中,反规范设计(Denormalization) 是一种通过有意识地引入冗余数据或合并表结构来优化查询性能的策略。其核心是在牺牲部分规范化原则(如减少冗余、避免数据异常)的前提下,换取更高的查询效率和更简化的数据访问逻辑。以下是反规范设计的核心概念、适用场景及常见方法:优点:查询订单时无需关联用户表。缺点:需维护冗余数据的一致性(如用户改名时需同步更新所有订单)。(2) 预计算聚合数据(Pre-Aggregation)做法:提前计算并存储统计结果(如总和、平均值)。示例:优点:统

2025-03-01 11:32:18 654

原创 UML中顺序图和协作图的区别

在UML(统一建模语言)中,,用于描述对象之间的动态交互行为。尽管两者目标相似,但它们在表现形式、关注点和适用场景上有显著差异。

2025-03-01 10:54:44 613

原创 面向对象软件开发中的对象模型,动态模型和功能模型

并广泛应用于需求分析、系统设计和代码实现阶段。是三个核心模型,共同描述系统的不同维度。在面向对象软件开发中,

2025-03-01 10:42:26 849

原创 CMMI软件质量管理体系文件层次结构

CMMI(Capability Maturity Model Integration,能力成熟度模型集成)的软件质量管理体系文件通常采用层次化结构,以确保过程的可控性、可重复性和持续改进。通过清晰的文档层次结构,CMMI帮助组织实现过程的规范化、透明化和持续优化,最终提升软件质量和客户满意度。

2025-03-01 10:32:51 592

原创 什么是蓝绿发布?

蓝绿发布是平衡风险与效率的经典策略,尤其适合对稳定性要求高、资源充足的系统。结合自动化工具(如 Kubernetes、CI/CD 流水线),可以显著降低发布风险,提升运维效率。是一种软件发布策略,旨在实现零停机、低风险的版本更新。其核心思想是通过维护两个完全相同的生产环境(称为。),并在两个环境之间切换流量,确保新版本上线时用户无感知,且能快速回滚到旧版本。

2025-03-01 09:47:35 382

原创 微信公众号、服务号和小程序

微信公众号、服务号和小程序是微信生态中三大核心工具,各自定位不同,功能互补。通过合理搭配,三者可覆盖用户从认知(公众号)→服务触达(服务号)→功能使用(小程序)的全链路需求。

2025-02-28 14:44:45 517

原创 Aspect执行时目标方法参数设置完成了吗?

当通过代理对象调用目标方法时,Spring会先解析方法的参数(例如,从请求、上下文或调用方传入的值),并将其正确绑定到方法的参数列表中。:Spring AOP确保在Aspect的通知逻辑执行时,方法入参已经正确设置完成,开发者可以直接在通知中安全地访问或操作参数。在Spring AOP中,

2025-02-27 14:43:01 178

原创 @Around、@Before 和 @After的执行时机

Around:最灵活,适合需要完全控制方法执行的场景。@Before@After:适合简单的预处理或后处理,无需控制方法执行流程。执行顺序@Around→@Before→ 目标方法 →@Around→@After。

2025-02-27 14:39:52 635

2022年软件货币化现状.pdf

2022年软件货币化现状.pdf

2022-06-27

空空如也

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

TA关注的人

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