logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

自制OJ 判题系统核心难点:Docker 沙箱如何限制恶意代码、死循环和资源滥用

在线OJ系统的Docker沙箱设计与实现:介绍了项目:在线OJ系统中实现Java代码判题沙箱的关键技术方案。针对用户提交的不可信代码可能带来的安全风险(如死循环、内存溢出、系统命令执行等),系统采用Spring Boot + docker-java + Docker容器池的技术架构,将代码编译和执行隔离在受限的Docker容器中。 核心设计方案包括: 通过Docker HostConfig严格限制

文章图片
#docker#容器#运维 +1
不只是调大模型 API:我在 Spring AI 项目里做的熔断、降级、审计和安全治理

探讨了在Spring AI项目中实施工程保护措施的必要性。作者分享了将DeepSeek模型接入抽奖系统时的实践经验,强调AI功能需要与传统业务系统不同的特殊处理。关键保护措施包括: 配置治理:通过环境变量管理敏感信息,支持灵活切换模型服务 熔断机制:当模型API连续失败时自动切断调用,防止级联故障 降级策略:在AI不可用时提供本地备选方案,确保业务连续性 审计日志:记录所有AI调用的详细信息,便于

文章图片
#spring#人工智能#java
Spring AI 多模型路由实战:如何在 DeepSeek、OpenAI 与本地模型之间动态切换

SpringAI从演示环境到生产环境中AI模型调用的治理挑战。提出三个核心方案: 将请求建模为可审计的路由上下文(RouteContext),包含任务类型、数据等级、token预算等不可变约束,而非直接指定供应商。 建立模型能力目录(ModelProfile),基于实际能力而非名称进行路由决策,包含上下文限制、部署位置、工具支持等关键元数据。 设计统一模型网关协议(ModelAdapter),通过

文章图片
#spring#人工智能#java
MCP 服务端开发:把 Java 能力安全开放给 AI Agent

以 Java 生态为背景,阐述了如何构建一个安全可落地的 MCP Server。核心围绕 Tools、Resources、Prompts 三类能力的工程化设计展开,强调从业务用例出发而非机械搬运内部 API,给出 Java 分层架构与依赖方向。在此基础上深入探讨 stdio 与 Streamable HTTP 的选型、基于 Spring AI/SDK 的窄 Tool 注册、Resource 的授权

文章图片
#java#人工智能
MCP 服务端开发:把 Java 能力安全开放给 AI Agent

以 Java 生态为背景,阐述了如何构建一个安全可落地的 MCP Server。核心围绕 Tools、Resources、Prompts 三类能力的工程化设计展开,强调从业务用例出发而非机械搬运内部 API,给出 Java 分层架构与依赖方向。在此基础上深入探讨 stdio 与 Streamable HTTP 的选型、基于 Spring AI/SDK 的窄 Tool 注册、Resource 的授权

文章图片
#java#人工智能
Spring AI 多模型路由实战:如何在 DeepSeek、OpenAI 与本地模型之间动态切换

SpringAI从演示环境到生产环境中AI模型调用的治理挑战。提出三个核心方案: 将请求建模为可审计的路由上下文(RouteContext),包含任务类型、数据等级、token预算等不可变约束,而非直接指定供应商。 建立模型能力目录(ModelProfile),基于实际能力而非名称进行路由决策,包含上下文限制、部署位置、工具支持等关键元数据。 设计统一模型网关协议(ModelAdapter),通过

文章图片
#spring#人工智能#java
Spring AI Tool Calling 生产化:参数校验、权限控制与超时隔离

本文探讨了AI工具调用的安全实践。大模型调用工具时需要建立严格的信任边界,将工具按风险分级(L0-L3),并强调后端必须独立执行参数校验、权限控制和审计等安全措施。作者以Spring AI为例,展示了工具调用架构的分层设计(ChatClient/Advisor/Manager/ToolCallback),并详细说明了如何通过@Tool注解定义安全契约、限制调用轮次、实现超时隔离等关键生产化措施。

文章图片
#人工智能#spring#java
续约项目 Redis 与 Redisson 分布式锁使用总结

本文分析了续约项目pluto-renewal中Redis与Redisson的应用,重点包括分布式锁、幂等锁及缓存实现。项目通过Redisson的RLock实现分布式锁(如任务并发控制),结合StringRedisTemplate的setIfAbsent实现轻量级幂等锁(如MQ消息防重),并利用Redis作为缓存(Spring Cache)和临时数据容器(Redisson RList)。配置采用哨兵

文章图片
#redis#分布式#数据库
Redisson 分布式锁在客户分配场景中的使用:避免并发绑定重复服务人员

Redis分布式锁在客户续约服务人员分配中的实践:通过客户续约服务人员分配场景,探讨了Redis分布式锁的实际应用。在分布式系统中,当多个任务并发处理同一客户时,会出现同一个客户被绑定多个服务人员的问题。文章分析了并发问题根源,并选用Redisson分布式锁解决。重点阐述了锁粒度的选择(按客户唯一标识加锁),以及Redisson锁的实现细节,包括tryLock方法的使用、关键区代码保护和锁释放机制

文章图片
#分布式#redis#面试
Java volatile 关键字相关用法总结:面试版详解

深入解析Java中volatile关键字的原理与应用场景。volatile作为轻量级同步机制,主要提供两大功能:保证线程间变量修改的可见性和禁止指令重排序。文章通过代码示例展示volatile解决线程可见性问题的能力,并详细说明其在双重检查锁单例模式中的作用。特别强调volatile不能保证原子性操作(如i++)的安全,并提供synchronized、Lock和AtomicInteger三种替代方

文章图片
#java#面试
    共 22 条
  • 1
  • 2
  • 3
  • 请选择