Ohhnews

分类导航

DZone Java

使用Java与Apache IoTDB构建物联网时间序列应用

Apache IoTDB 面向持续产生时间序列数据的联网设备与工业系统,擅长高频数据写入、历史分析和基于时间的查询,常见场景包括工业物联网、智能制造、能源监控、车联网、楼宇自动化和边缘计算。文章演示了如何用 Java 配合 Eclipse JNoSQL 1.1.18 构建应用:先在 Docker 中本地启动 IoTDB 实例,使用 Table SQL 方言创建数据库,在 microprofile-config.properties 中配置主机、端口与凭据并引入 jnosql-iotdb 驱动;随后定义以 Instant 为时间戳的 SensorReading 实体和 Jakarta Data 仓库,通过 TimeSeriesTemplate 或 Repository 写入多条读数,并分别查询传感器最新值和近期历史记录。作者强调,这类“最新状态加历史趋势”的需求正是时间序列数据库优于通用数据库的地方,IoTDB 还可作为运营系统的历史数据层,与存储业务信息的关系型数据库分工协作,适用于预测性维护、能源系统、交通与智能建筑等场景。
#apache iotdb#java#物联网#时间序列数据库#边缘计算
$ more
DZone Java

OpenSearch 堆内存配置:Swap、页缓存与 50% 规则

文章深入分析 OpenSearch 内存配置中的常见默认值,尤其是 JVM 堆占可用内存 50% 的规则。作者在一次内核与 Azure 镜像升级后发现查询延迟升高、页缓存增加约 1GB、I/O PSI 出现尖峰。通过 /proc、vmstat 和 smaps 排查,确认 OpenSearch 进程约 2.6GB 内存被换出,其中主要是堆冷页、原生/堆外分配和 JIT 代码缓存;交换设备为 dm-crypt,进一步放大 I/O 与 GC 停顿。vm.swappiness=1 只能影响回收倾向,不能阻止匿名页被换出,冷堆页长期留在 swap 会导致难以定位的 GC 放大和随机延迟。根因是堆配置过大叠加页缓存压力。作者建议停止提交未使用堆内存,并让已提交堆不可换出;后续将测试不同堆比例对读写负载的影响。
#opensearch#jvm堆内存#交换空间#页缓存#性能调优
$ more
Jetbrains Blog

JetBrains提出AI生成代码审查框架:信任校准是关键

AI编程代理能快速生成跨多个文件的大量生产代码,瓶颈已从代码生成转向代码审查。JetBrains的人机体验团队与隆德大学合作,研究审查AI生成代码的工具应如何设计并融入开发流程。研究认为核心问题是信任校准:大模型对生成代码表现出同等自信,传统差异查看器无法帮助开发者判断哪些部分风险更高。基于17名实践者的参与式设计和43名软件专业人员的后续调查,论文提出概念框架,主张按开发者实际注意力粒度呈现风险与置信信号,并采用三级评审流程:先概览、再按文件进行风险分层、最后按需查看代码片段细节。现有工具如CodeRabbit、Claude Code和Graphite仅覆盖部分能力,尚未真正解决信任校准。该论文将在ESEIW 2026展示。
#ai生成代码#信任校准#代码审查#开发者工具#人机交互
$ more
Jetbrains Blog

Amper 现已成为 Kotlin 工具链:博客同步迁移至 Kotlin 博客

Amper 已演进为 Kotlin 工具链,并随 Kotlin 工具链 0.11 的发布进入 Alpha 阶段,成为 Kotlin 的统一入口。为集中发布 Kotlin 生态新闻,未来所有新闻和版本公告将转至 Kotlin 博客发布。Amper 博客将作为存档继续在线,现有文章和链接仍可访问,但不再更新。用户可订阅 Kotlin 博客相关主题,并通过 GitHub 关注项目发布与更新日志。
#kotlin#amper#jetbrains#工具链#博客迁移
$ more
Jetbrains Blog

IntelliJ IDEA推出Java与Kotlin扩展:基于LSP的插件进入候选发布阶段

JetBrains宣布,基于LSP的扩展Java and Kotlin by IntelliJ IDEA已进入候选发布(RC)阶段,距离稳定的1.0正式版发布仅一步之遥。该扩展把IntelliJ IDEA的Java与Kotlin语言智能带到VS Code、Cursor等第三方编辑器,自首个预览版发布以来,在Visual Studio Marketplace和Open VSX上的下载量已超过2万次。RC版本提供智能代码补全、导航、代码检查和快速修复、代码分析,以及项目级重构、基于DAP的调试、Maven、Gradle和Bazel项目支持、内置测试运行和Spring工具互操作等能力,同时可供编码智能体用于语义搜索、导航和代码分析,从而获得更快、更确定的结果。JetBrains表示目标并非简单复制IDE功能,而是让IntelliJ IDEA对JVM代码的理解服务于开发者及其工具。RC版本属于EAP计划,可免许可证使用30天;正式版发布后新用户可享30天免费试用,之后需订阅IntelliJ IDEA Ultimate。
#jetbrains#intellij idea#lsp#vs code#开发者工具
$ more
Jetbrains Blog

JetBrains加入开源安全基金会(OpenSSF)

JetBrains宣布以普通成员身份加入开源安全基金会(OpenSSF)。OpenSSF是Linux基金会发起的跨行业倡议,致力于保障行业所依赖的软件供应链安全。该消息于布拉格OpenSSF Community Day Europe上与其他新成员一同公布,活动与Open Source Summit Europe同期举行。OpenSSF支持Sigstore、SLSA等项目,其AI/ML安全工作组发布机器学习模型签名及AI代码助手安全指令指南。JetBrains表示,随着编码代理承担更多开发工作,代码生产成本降低但验证成本上升,其中大量属于安全工作;开发者需要了解代码和依赖来源,AI也带来如何信任模型和助手的新问题。JetBrains Air正帮助开发者理解和验证代理产出,公司希望在OpenSSF与业界公开协作,共同应对AI安全问题。Katherine Druckman表示,软件开发正处转折点,JetBrains将携手社区塑造安全软件开发的未来。
#jetbrains#openssf#开源安全#软件供应链#ai安全
$ more
Spring Blog

Spring本周动态——2026年10月6日

本周Spring社区动态丰富。作者正在比利时安特卫普参加Devoxx Belgium大会,本次将分享Spring Security和Spring Boot 4.x相关内容。文章汇总了Spring AI负责人关于使用Spring AI构建模块化RAG解决方案的博客、提供代码知识图谱可见性的开源项目OneLens、Spring Office Hours关于软件未来的讨论、A Bootiful Podcast与Andres Almiray聊JReleaser,以及Spring Boot最佳实践、Spring AI入门和完整Java Spring Boot课程等视频资源。
#spring#spring ai#spring boot#rag#devoxx
$ more
foojay

2026年10月Foojay特色作者:Bazlur Rahman与Nicolas Fränkel

Foojay每月评选两位社区特色作者,10月为Bazlur Rahman与Nicolas Fränkel。Rahman是Java Champion、Foojay编辑、孟加拉Java用户组创始人,自2021年起发表89篇文章,内容包括虚拟线程并发深度指南、虚拟线程钉住问题诊断,以及与多位Java Champion的访谈系列;他还开发了可视化对比Java各版本演进的工具java.evolved,参与编写《Java开发者可持续性指南》,近期关注Java视角下的AI实践,如基于RAG、LangChain4j与Ollama的智能表单填写器FormPilot。Fränkel已发表254篇文章,专注云原生、DevOps、CI/CD与系统可观测性,著有《软件架构电梯》等书,近期迅速转向智能体AI工程实践,涵盖从零构建AI代理、设计代理团队、AI子代理实验、编写代理技能与AI网关等主题;此外还涉猎OpenTelemetry实践、Gradle元数据与Renovate集成,以及季节延时摄影和AI辅助家谱等非Java内容。文章最后感谢两位作者,并邀请读者投稿成为下月特色作者。
#foojay#java#开源社区#ai代理#技术写作
$ more
foojay

使用TeaVM在浏览器中运行Java

TeaVM可将Java字节码编译为浏览器中的JavaScript或WebAssembly,teavm-javac则把Java编译器也带入浏览器。编译在读者的Web Worker中完成,无需服务器请求,React负责发送源码并显示状态与输出。该方案适用于在线Java教程,但受限于TeaVM的Java类库子集,不支持JNI、运行时类加载和无限制反射,也不能访问本地文件或shell环境。配套的React/Vite示例提供可编辑Java文件,支持编译、运行和停止;程序会列出系统属性与环境变量、统计素数并绘制Mandelbrot集。类似方案还有CheerpJ JavaFiddle和GraalVM WebAssembly javac演示。
#teavm#java#webassembly#浏览器#在线编译
$ more
foojay

在JavaFX中构建代码编辑器控件

文章介绍如何基于 JavaFX 的 Control 与 Skin 从零实现一个代码编辑器控件。核心设计是用两个共享同一行数据源的虚拟化 ListView 分别渲染代码和行号,通过绑定滚动条值保持垂直同步,使行号在水平滚动时固定不动。GutterCell 根据单元格索引刷新行号、标记图标和当前行高亮。语法高亮不依赖完整词法分析器,而是用关键字颜色映射和正则匹配,将每行拆成多个 Text 节点放入 TextFlow。控件还实现了括号匹配、Alt 多光标与列选择、整文档快照式撤销/重做,以及基于弹出 ListView 和光标屏幕位置定位的自动补全。作者说明这些只是该控件更大设计的一部分,完整实现收录于《Skinning JavaFX Applications》一书。
#javafx#代码编辑器#自定义控件#语法高亮#自动补全
$ more