Ohhnews

分类导航

foojay

无诱饵和转换的开源资助:分析、原生地图、电视及更多功能

核心论点 Codename One项目通过GPL+Classpath Exception许可证保持开源,同时提供可选的付费服务(如隐私优先的分析API、崩溃保护)来维持可持续发展,避免常见的“诱饵和转换”策略。 本周主要更新 分析API:新增隐私优先的分析API,支持多种后端(Google Analytics、Matomo、Firebase等),并提供第一方服务集成。 原生地图:引入纯矢量的MapView(基于Mapbox Vector Tile)和原生NativeMap组件,支持插件式提供商,摆脱单一地图供应商依赖。 电视支持:添加Apple TV和Android TV支持,CSS引擎新增@media device-tv和device-watch变体。 富文本与代码编辑器:新增WYSIWYG RichTextArea和IDE风格CodeEditor,支持语法高亮、代码补全。 设备完整性与应用评审:提供运行时自保护API和原生应用内评分弹窗回退方案。 此外,JavaScript端口已迁移至ParparVM,Playground可直接运行最新API。
#codename one#开源资助#分析api#矢量地图#电视支持
$ more
Baeldung

在Java中构建SQL查询字符串

概述 在Java中动态构建SQL查询字符串是常见需求。本文介绍了使用StringBuilder、StringJoiner和PreparedStatement的方法,以处理可选过滤条件、避免SQL注入和提升代码可读性。通过分段构建查询并利用参数化查询,可以生成灵活的SQL语句。主要挑战包括条件拼接时的语法正确性,如处理WHERE和AND关键字。StringBuilder可逐步追加条件,但需注意初始WHERE的添加;StringJoiner则能优雅地连接多个条件。最终使用PreparedStatement执行,确保安全性和性能。
#java#sql#动态查询#字符串构建#preparedstatement
$ more
Baeldung

在Spring AI中使用递归顾问构建LLM评判器

文章概述 本文介绍了如何在Spring AI中利用递归Advisor实现LLM-as-a-Judge模式。该模式通过生成-评判-优化循环自动提升LLM输出质量:生成器产生初始回答,评判器按规则评分并反馈,若分数未达阈值则结合反馈再次生成,直至满足要求或达到最大尝试次数。文章详细实现了Verdict记录类、评判系统提示模板、LlmJudgeAdvisor类(内含评估与修正逻辑),以及Spring配置与单元测试。该方案无需微调模型或人工介入,对调用方完全透明,适用于客服机器人等对回答质量要求严格的场景。
#spring ai#llm评判器#递归顾问#质量门控#生成优化
$ more
DZone Java

Java应用中OAuth 2.0 On-Behalf-Of(OBO)流程:代表用户安全调用下游API

摘要 现代企业应用常需在多服务间传递用户身份。OAuth 2.0 On-Behalf-Of(OBO)流程允许中间层服务使用用户令牌换取下游专用令牌,从而实现用户级授权。本文以Spring Boot为例,演示OBO流实现步骤:添加MSAL4J依赖、获取下游令牌、调用API。同时强调安全最佳实践:验证令牌、最小权限、不记录令牌、保护密钥、缓存令牌。适用于医疗、微服务等场景,是构建零信任架构的基础技能。
#oauth 2.0#obo流程#java#spring boot#安全授权
$ more
Baeldung

Java周报第653期

本期Java周报涵盖Spring和Java领域的最新动态。重点文章包括:回归“两块披萨”团队文化、JVM内置安全机制探讨、Jackson库一日内发现7个新漏洞(AI辅助安全研究)、Endive 1.0发布(Wasm on JVM)、AI辅助删除无用代码、Spring Boot 4.1支持MongoDB驱动Spring Batch作业、CopyOnWriteArrayList.subList()的ConcurrentModificationException问题、事件驱动设计在Java实时系统中的权衡、Eliya 25为OpenJDK 25 LTS带来JVM级诊断特性、IntelliJ IDEA 2026.2开源LSP客户端API、Agentrification指数等。多个项目发布新版,如IntelliJ IDEA 2026.1.4、Quarkus 3.37.1、GraalVM 25.1.3、Jetty 12.1.11等。本周精选:夏季促销活动已上线。
#java#spring#jvm#软件更新#ai辅助安全
$ more
Baeldung

Java周刊第653期:双比萨文化回归与技术更新

主要更新 回归双比萨文化:亚马逊团队规模模型强调自主与快速反馈。 JVM安全与Jackson漏洞:AI辅助安全研究揭示新威胁。 Endive 1.0:Wasm on JVM正式发布。 Spring Boot 4.1:支持MongoDB驱动的Spring Batch。 版本升级:IntelliJ IDEA、Quarkus、GraalVM、Jetty、Elasticsearch、Zuul、Grails、Micronaut、Apache Camel等多个框架发布维护版。 本周精选:Baeldung夏季促销。
#java#spring#jvm#安全#ai
$ more
InfoQ Java

Hardwood 1.0发布:零强制依赖,高速处理Apache Parquet文件

Hardwood项目由Gunnar Morling发起,专注于在Java中高速处理Parquet文件。版本1.0采用多线程架构并实现零强制外部依赖,相比Apache Parquet官方实现更简单高效。目前仅支持读取操作,写入支持预计在后续版本中增加。作者Olimpiu Pop。
#hardwood#apache parquet#java#高性能#数据处理
$ more
Jetbrains Blog

对话Golden Kodee奖得主

KotlinConf 2026首次颁发Golden Kodee社区奖,表彰五位杰出贡献者:Matheus Leandro Ferreira(教育)、Jaewoong Eum(线上影响力)、Nicole Terc(创造力)、Eeva-Jonna Panula(积极社会影响)和Yinlong Liu(线下活动)。获奖者分享了他们的项目与感悟:有人多年深耕教学与内容创作,有人通过开源项目和博客影响全球开发者,也有人专注无障碍与包容性。他们最初被Kotlin的简洁性、空安全和跨平台能力吸引,如今在Ktor、Compose Multiplatform、KMP、Hot Reload等领域持续创新。对于想参与社区的开发者,他们建议:公开学习、从小事贡献、主动社交、勇敢开始。
#kotlin#golden kodee奖#社区贡献#多平台开发#技术教育
$ more
foojay

这个依赖更新看起来完全像是账户劫持

文章分析了 javax.activation 从 1.1-rev-1 升级到 1.1.1 时失去 GPG 签名的案例,指出该模式与真实账户劫持高度相似,但最终确认为良性。作者强调传统 CVE 扫描的局限(滞后性),并介绍了自研开源工具 Marshal。该工具通过七项行为规则(如签名丢失、新维护者、依赖膨胀等)对每次依赖更新进行 0-100 分评分,旨在 CVE 尚未产生时提前发现风险。引擎设计避免单一信号触发最高告警,并包含信誉层和严格的白名单机制。目前支持 Maven 和 Gradle,提供 CLI、GitHub Action 和多种输出格式,可集成到 CI 流程。文章呼吁社区关注 JVM 生态的依赖行为监控。
#marshal#依赖更新#供应链安全#gpg签名#行为分析
$ more
foojay

BoxLang 1.14.0发布:JSONPath集成到DataNavigator,实现全方位数据导航

BoxLang 1.14.0 正式发布,其 DataNavigator 工具新增原生 JSONPath 路径表达式支持。新版本引入了 query()、getOrDefault()、getByKey() 等新方法,使得对深层嵌套数据(如 JSON API 响应、配置文件、模块元数据)的导航和查询更加简洁高效。文章通过多个真实场景展示了如何使用 JSONPath 表达式进行点号路径、递归下降、通配符、切片和条件过滤等操作,并给出了基于不同需求选择合适方法的指南。该版本还包含动态集合、范围、内部类、查询转换器等多项更新,详细文档及发布说明已上线。
#boxlang#datanavigator#jsonpath#数据处理#版本更新
$ more