Ohhnews

分类导航

foojay

使用 Spring Session MongoDB 构建分布式 HTTP 会话

分布式会话管理解决方案 本文介绍了如何利用 Spring Session MongoDB 将 HTTP 会话数据从应用内存迁移至 MongoDB 中存储。通过这种方式,开发者无需改变现有的 HttpSession 编程模型,即可实现跨多个应用实例的会话共享。 核心优势 水平扩展性:会话状态不再绑定于单一服务器实例,支持负载均衡环境下的无缝请求切换。 数据持久化:应用重启后会话信息依然有效。 自动化管理:利用 MongoDB 的 TTL 索引自动处理会话过期,简化了清理逻辑。 实现要点 依赖配置:引入 mongodb-spring-session 依赖。 启用配置:通过 @EnableMongoHttpSession 注解激活 MongoDB 会话存储机制。 无感集成:控制器继续使用标准的 HttpSession API,底层自动将数据序列化并存入 MongoDB 文档中。 该方案是构建高可用、可扩展分布式 Java 应用的有效手段,适用于用户认证、购物车及多步流程状态管理等场景。
#spring session#mongodb#分布式系统#会话管理#微服务
$ more
Jetbrains Blog

对抗性人工智能:理解现代AI系统的安全威胁

随着人工智能技术在商业和产品开发中的普及,其面临的安全风险也日益复杂。对抗性AI是指利用恶意技术来操纵、破坏或窃取AI系统的行为。本文详细探讨了对抗性AI的两大主要形式:一是将AI作为攻击武器(如深度伪造、自动化网络钓鱼和AI生成的恶意软件);二是直接针对AI系统本身的攻击。针对后者的攻击主要集中在算法漏洞利用、生成式AI过滤机制绕过以及AI供应链攻击。文章重点分析了数据投毒、规避攻击和模型窃取等具体威胁,并强调了企业在设计AI产品时必须建立更强的防御机制,以保护业务完整性、客户信任及知识产权。
#人工智能#网络安全#对抗性ai#模型安全#数据隐私
$ more
Jetbrains Blog

如何在 PyCharm 中训练你的第一个 TensorFlow 模型

本文介绍了如何利用 PyCharm 的集成开发环境进行 TensorFlow 模型训练。作者通过 Fashion MNIST 数据集演示了从构建、编译到训练 Keras 模型的完整流程,并展示了如何通过混淆矩阵和预测可视化来评估模型性能。文章强调了在 PyCharm 中使用 Notebook 进行实验的便捷性,并提供了关于模型调优、GPU 加速及训练轮次设置的实用建议,旨在帮助初学者快速掌握从数据预处理到模型部署的开发链路。
#tensorflow#pycharm#机器学习#深度学习#数据科学
$ more
foojay

Java 线程安全原生内存:VarHandle 访问模式详解

核心内容 本文深入探讨了 Java 外部函数与内存 API (FFM API) 中原生内存的线程安全问题。文章详细解析了 VarHandle 的四种访问模式: Plain (普通访问):无任何内存屏障,允许编译器和 CPU 重排序,适用于单线程或外部锁保护的场景。 Opaque (不透明访问):提供位级原子性及可见性,防止编译器优化,适用于简单的标志位或计数器。 Acquire/Release (获取/释放):建立 Happens-before 关系,防止特定指令重排序,适用于生产者-消费者模式。 Volatile (易失访问):提供全内存屏障和强一致性,确保操作的完全有序,是多变量同步的最安全选择。 作者强调,开发者在处理多线程原生内存时,必须考虑 CPU 架构(如 x86 与 ARM)带来的内存重排序差异,并通过 JCStress 等工具验证并发代码的正确性,同时警惕非对齐内存访问导致的“字撕裂 (Word Tearing)”现象。
#java#原生内存#varhandle#并发编程#内存模型
$ more
Spring Blog

Spring一周动态:2026年4月7日

本期Spring动态涵盖了Spring生态系统的多项更新与技术分享。核心更新包括Spring Cloud 2025.0.2(Northfields)版本的发布,以及Spring AI在智能体记忆工具方面的进展。内容还重点推荐了关于Trivago使用GraalVM优化Spring Boot应用的实践案例,以及如何利用Spring AI、Spring Boot与JobRunr构建分布式Java AI代理的经验分享。此外,文章还探讨了使用Kotlin优雅处理Spring Data JPA的技巧、基于Header和Baggage的故障注入技术,以及Apero CAS项目在大型Spring Boot应用中进行高效测试的模式。
#spring框架#java开发#人工智能#软件工程#云原生
$ more
Spring Blog

Spring AI代理模式(第六篇):AutoMemoryTools实现跨会话持久化记忆

核心概述 本文介绍了Spring AI Agentic Patterns系列中的第六部分:AutoMemoryTools。该工具旨在解决AI代理在会话重启后无法保持长期记忆的问题。不同于仅存储对话历史的ChatMemory,AutoMemoryTools允许代理将重要事实(如用户偏好、项目决策等)以Markdown文件的形式持久化存储,实现跨会话的信息留存。 主要功能 持久化记忆机制:受Claude Code启发,通过MEMORY.md索引文件和分门别类的Markdown文件存储关键事实。 记忆类型分类:支持用户(user)、反馈(feedback)、项目(project)和参考(reference)四种记忆类型,确保存储内容具有高价值。 灵活的集成方式: AutoMemoryToolsAdvisor:零配置方案,通过Advisor自动注入系统提示词和工具。 手动配置:提供更细粒度的系统提示词控制。 FileSystem/Shell工具集成:对于已有文件操作能力的代理,可直接复用现有工具实现记忆逻辑。 记忆清理:支持通过触发器自动合并或清理冗余记忆,保持索引文件简洁。 开发者价值 通过引入AutoMemoryTools,开发者可以赋予Spring AI代理真正的“长期记忆”,使其能够处理跨越时间的复杂任务,显著提升代理的实用性和上下文理解能力。
#spring ai#人工智能#agent#持久化存储#记忆管理
$ more
foojay

BoxLang AI v3发布:引入多智能体编排、AI技能系统及工具链全面升级

BoxLang AI 3.0 重大更新 BoxLang AI 3.0 版本正式发布,此次更新从底层架构上重构了智能体、模型与工具的交互方式,带来了十项核心功能改进: AI 技能系统:支持基于 Anthropic 标准的模块化技能定义,实现知识块的复用与运行时注入。 多智能体编排:引入父子智能体层级架构,支持循环检测与深度追踪。 工具系统重构:新增全球工具注册表、MCP 服务器自动发现及 BaseTool 架构,并内置了自动时间获取工具。 中间件支持:提供日志记录、重试机制、防护栏及飞行记录仪(FlightRecorder)等六大内置中间件,支持确定性测试。 其他增强:包括 HuggingFace 嵌入支持、无状态智能体设计、提供商能力检测以及自定义服务 URL 配置。 该版本在保持向后兼容的同时,极大增强了企业级 AI 应用的开发效率与可维护性。
#boxlang#人工智能#多智能体#软件开发#开发工具
$ more
Jetbrains Blog

Java月度精选:Java 26发布与AI技术集成前沿

Java 26发布概览 本期Java月度精选重点聚焦于3月发布的Java 26。特邀嘉宾Marit van Dijk分享了关于Java 26的专业见解。此次发布带来了多项技术更新,包括HTTP客户端改进、JDK安全性增强以及性能优化。同时,IntelliJ IDEA 2026.1版本正式发布,全面支持Java 26,并引入了虚拟线程调试器改进及新的AI功能。 行业动态与技术趋势 AI集成:JetBrains推出了面向Java的AI代理框架Koog,并探索了AI在JVM监控、代码生成及辅助开发中的应用。 Kotlin进展:Kotlin 2.3.20发布,Amper工具链进一步完善。 行业活动:JavaOne大会在Redwood Shores举行,回顾了IntelliJ IDEA的25年历程。 社区生态:涵盖了Spring框架更新、Spring AI集成、微服务架构以及现代软件工程文化等广泛议题。
#java#人工智能#intellij idea#软件开发#编程语言
$ more
foojay

使用 Dash0 实现从零到全栈可观测性

核心内容摘要 本文介绍了如何利用 Dash0 Kubernetes Operator 在不修改任何源代码、pom.xml 或 Docker 镜像的情况下,为 SpringBoot 应用添加全栈可观测性。主要步骤包括: 构建应用:部署一个基础的 SpringBoot REST API,此时应用完全没有配置任何监控。 容器化与部署:通过 GitHub Actions 自动构建镜像并部署至 Kubernetes 集群。 添加 Dash0 监控:安装 Dash0 Operator,并配置 Operator 资源与监控规则。 自动注入与验证:通过重启 Pod,Operator 会自动注入 instrumentation,从而无需代码侵入即可实现对 Traces、Metrics 和 Logs 的全面采集与可视化。 该方案展示了如何利用 OpenTelemetry 原生平台简化云原生应用的运维监控流程。
#可观测性#kubernetes#dash0#云原生#应用监控
$ more
foojay

Floci:一款基于GraalVM的高性能AWS模拟器

项目介绍 Floci 是一款全新的开源 AWS 模拟器,旨在解决传统云环境模拟工具中存在的资源占用高、启动缓慢及认证繁琐等问题。该工具通过 Java 技术栈构建,并利用 GraalVM 编译为原生二进制文件,实现了极速启动(约 24 毫秒)与极低的内存占用(空闲时约 13 MiB)。 核心优势 轻量高效:原生执行文件,无需 JVM 预热,显著提升本地开发与集成测试效率。 隐私友好:无需 API 密钥、账户或遥测数据,支持离线运行。 高度兼容:无缝对接 AWS SDK 与 CLI,目前已支持包括 S3、DynamoDB、Lambda、SQS 等在内的 25 种以上核心 AWS 服务。 易于部署:通过 Docker 即可快速集成至现有的开发工作流中。
#云计算#aws#软件开发#graalvm#本地开发环境
$ more