Ohhnews

分类导航

foojay

BoxLang格式化工具介绍

BoxLang内置了代码格式化工具,支持.bx、.bxs、.bxm、.cfm、.cfc和.cfs文件,可自动统一团队代码风格。无需额外安装,运行boxlang format即可格式化整个项目。通过.bxformat.json配置文件可自定义缩进、行宽、括号风格等。在CI中可使用--check模式作为质量门禁,确保PR中的代码风格一致。VS Code支持保存时格式化功能,需在.bxlint.json和settings.json中启用。已有的cfformat配置可通过命令自动迁移。此外还支持预览、排除目录、自定义配置路径等选项。该工具旨在消除代码审查中的风格争论,将格式化自动化。
#boxlang#代码格式化#开发工具#ci/cd#vs code
$ more
Jetbrains Blog

DataSpell独立产品即将终止,功能整合至PyCharm

产品停用公告 JetBrains宣布将停止DataSpell独立产品,其核心数据科学功能(包括Jupyter笔记本、数据探索和分析工作流)将被整合到PyCharm中。自2026年5月28日起,DataSpell将不再接受新订阅,现有用户可继续使用。2026年9月1日起,符合条件的订阅将自动转换为PyCharm Pro,并提供等值AI Credits。用户将获得回退许可证以便平稳过渡。此举旨在简化产品线,为用户提供更统一的开发体验。
#dataspell#pycharm#数据科学#产品整合#jetbrains
$ more
Jetbrains Blog

宣布弃用 dotMemory Unit

JetBrains 宣布正式弃用 .NET 内存单元测试框架 dotMemory Unit。该框架长期用于检测 .NET 代码中的内存问题,但已不再积极开发,不支持最新的 .NET 版本,并且生成的遗留工作区格式与最新版 dotMemory 不兼容。此外,其依赖项存在已知安全漏洞且无法可靠更新。JetBrains 建议用户在安全敏感环境中立即停止使用,目前没有提供直接替代方案。dotMemory Unit 已于 2026 年 5 月 20 日在 NuGet 上标记为弃用,5 月 28 日发布官方通知,文档仍保留但会更新状态。团队对用户长期以来的信任表示感谢。
#dotmemory unit#.net#内存分析#单元测试#弃用
$ more
foojay

我为何在Exeris内核中禁用ThreadLocal(以及替代方案)

背景 在Exeris内核(一个为Java 26+设计的零拷贝运行时)中,为了实现1-VT-per-Stream的极端密度,必须消除一切无意义计算。传统ThreadLocal存在三个致命缺陷: 不受约束的可变性:任何代码都能修改ThreadLocal,导致数据流不可预测; 非词法生命周期:值存活到线程结束或手动调用.remove(),容易引发内存泄漏; 继承开销:InheritableThreadLocal在子线程创建时需O(N)拷贝整个Map,高并发下成为GC瓶颈。 这些缺陷与结构化并发的确定性模型根本冲突。 解决方案 JEP 506提出的Scoped Values提供不可变、词法绑定的动态作用域。其继承代价为O(1),无需手动释放。Exeris内核在网关处使用ScopedValue.where(...).run(...)注入身份上下文,下游模块通过isBound()和get()安全读取,确保数据流在词法范围内完全确定。 影响 完全移除ThreadLocal后,系统消除了大量GC压力和内存泄漏风险,使千万级虚拟线程得以稳定运行。Java 26的Loom、Panama及Scoped Values要求开发者从根本上重构架构,以释放现代硬件性能。
#threadlocal#scoped values#jep 506#虚拟线程#高性能
$ more
Baeldung

如何修复Java应用中MySQL的通信链路失败错误

错误概述 本文系统介绍了Java应用通过JDBC连接MySQL时常见的Communications link failure错误(即CommunicationsException)的成因与修复方法。文章首先解释了错误的本质(驱动无法与服务器交换数据),随后从基本连通性检查、MySQL配置、网络环境、应用层四个方面提供了诊断和解决方案。 常见原因与对策 服务器状态:确保MySQL服务正在运行,可尝试重启。 连接URL:检查主机名、端口(默认3306)、数据库名及账号密码的正确性。 DNS解析:若主机名无法解析,可改用IP地址测试。 MySQL配置:检查bind-address是否允许外部连接,禁用skip-networking,调整wait_timeout等超时参数。 网络环境:确认防火墙、杀毒软件或代理未阻断3306端口;注意IPv6与IPv4兼容性问题。 应用层:使用成熟的连接池(如HikariCP)并配置连接验证与超时;避免连接池耗尽或连接池大小与MySQL的max_connections不匹配;升级JDBC驱动至最新版本。 文章还特别强调了不同版本MySQL Connector/J(5.1.x与8.x)的差异,帮助开发者根据实际环境选择最佳修复方案。
#java#mysql#数据库连接#通信链路失败#jdbc
$ more
DZone Java

基于Spring Boot 3和Redis Sentinel的无状态JWT认证微服务架构

本文介绍了使用Spring Boot 3和Spring Security 6构建的高可用微服务认证解决方案,旨在解决现代微服务生态中常见的集中式认证问题。核心思路是采用缓存优先模式,通过Redis缓存Token减少数据库查询,并利用Redis Sentinel实现高可用性,避免单点故障。文章详细阐述了认证服务的必要性、缓存流程、JWT令牌生成与验证、Redis配置以及Spring Security 6的安全过滤链实现。通过将User实体直接实现UserDetails接口简化了代码,并使用Lettuce驱动管理Redis Sentinel的故障转移。此外,还提供了单元测试示例验证缓存逻辑和无效Token处理。整体架构实现了无状态、可扩展且高可用的认证服务。
#微服务架构#无状态认证#jwt#spring boot 3#redis sentinel
$ more
Jetbrains Blog

Cloud9 JetStream主题正式登陆JetBrains IDE

Cloud9与JetBrains持续合作,将软件开发与电竞领域连接。最新成果是Cloud9 JetStream主题,专为JetBrains IDE打造。该主题采用暗色界面搭配Cloud9蓝色强调色和优化的语法高亮,在保留Cloud9视觉风格的同时兼顾日常编码实用性。此前双方已通过黑客松、直播工具等项目展开技术合作,此次主题则将品牌融入开发者日常工作环境。主题已上架JetBrains Marketplace。
#cloud9#jetbrains#ide主题#电竞#开发工具
$ more
Jetbrains Blog

使用TensorFlow和PyCharm为Reachy Mini构建实时物体检测应用

本文是一篇详细教程,介绍如何利用TensorFlow和PyCharm构建实时物体检测应用,并将其部署到开源机器人Reachy Mini上实现物体跟踪。项目分为两个阶段:第一阶段在笔记本电脑上使用网络摄像头测试物体检测管线,采用SSD MobileNet V2模型;第二阶段将相同模型部署到Reachy Mini机器人,实现头部跟踪、天线反应和实时网页仪表板。文章提供了完整的代码和步骤,适合对机器人、AI和计算机视觉感兴趣的开发者。
#tensorflow#物体检测#reachy mini#开源机器人#实时跟踪
$ more
foojay

Skills、Java 17 和主题强调色——Codename One 更新

本文介绍了 Codename One 框架的多项重要更新。默认 JDK 已切换为 Java 17,每个新生成的项目都附带 AGENTS.md 文件,使 AI 代理能智能协作,包括支持 jdb 调试、API 子集验证和 CSS 校验。新的原生主题(iOS Modern 和 Material 3)开放了运行时强调色板,只需在 CSS 中定义五个常量即可更换应用配色。Metal 渲染器得到改进:修复了非均匀缩放下的图形漂移问题,添加了对旋转剪切的诊断测试,并引入 ios.metal.colorSpace 构建提示以支持广色域。此外,Graphics 新增 translateMatrix API,实现了与 scale 和 rotate 一致的矩阵变换。String API 补齐了 replace(CharSequence)、replaceAll 和 replaceFirst 方法。iOS 推送权限不再在应用启动时自动触发,改为在调用 Push.register() 或 LocalNotification.schedule() 时提示,开发者可先展示原因屏幕。文中还提及了 Skin Designer 的 FAQ 和即将默认启用 Metal 的提醒。
#codename one#java 17#agents.md#原生主题#metal渲染器
$ more
Jetbrains Blog

Koog 1.0 正式发布:稳定核心、更优互操作与多平台可观测性

JetBrains 在 KotlinConf 2026 上宣布开源 AI 代理框架 Koog 1.0 正式发布。该框架支持使用 Kotlin 和 Java 构建 AI 代理应用,提供工具、工作流、持久化、记忆、可观测性等核心组件。1.0 版本强调 API 稳定性,承诺一年内无破坏性变更。主要改进包括:本地 Android AI 支持(集成 LiteRT 模型运行)、重新设计的 Java 互操作层、解耦的 HTTP 传输、基于 OpenTelemetry 的多平台可观测性、增强的长期代理持久化与记忆,以及 Anthropic 提示缓存支持以降低延迟和成本。该版本为生产级企业应用提供了更稳固的基础。
#koog#jetbrains#人工智能框架#kotlin#稳定性
$ more