Ohhnews

分类导航

InfoQ Java

FlexGanttFX正式开源,提供跨行业甘特图调度框架

Dirk Lemmerman 已以 AGPL 许可证将 FlexGanttFX 开源。这是一个基于 JavaFX 的资源调度框架,采用 Canvas 渲染方式优化性能,支持任务依赖建模和直接编辑,可满足多个行业的项目规划需求。
#flexganttfx#开源#javafx#甘特图#资源调度
$ more
foojay

NetBeans DataWrangler:在 Apache NetBeans 中查询、转换和编辑数据分析文件

Apache NetBeans DataWrangler 插件将数据分析文件格式引入 NetBeans 31,支持 CSV、Apache Parquet、JSON 和 Excel。用户可在 IDE 中直接查询、转换、检查和编辑这些文件,使用 SQL 进行连接、聚合和透视,并能在不同格式间转换及导出结果。其核心为内置的 DuckDB 引擎,SQL 编辑器提供代码补全、文档提示、错误检查和快速修复,并附带多种代码模板。插件还支持注册 DuckDB 数据库、管理扩展以及在结果查看器中运行查询。
#netbeans#数据分析#duckdb#sql#文件转换
$ more
foojay

Java Web框架Jakarta Faces无状态版:AliFaces市场应用

概述 AliFaces是一个完全无状态的Jakarta Faces市场应用概念验证,采用服务端渲染,不依赖HttpSession、保存的ViewState或粘性会话。应用基于Jakarta Faces 4.1、Mojarra、PrimeFaces和OmniFaces,同一WAR可运行于Tomcat 11和Open Liberty。它通过签名JWT标识用户,将购物车与历史等状态外置到共享存储,配合CDN资源与边缘缓存,实现任意节点均可服务任一请求。作者强调现代UI取决于设计系统,无状态是架构属性,性能需要用真实场景测量;双节点测试展示了无JSESSIONID情况下跨节点购物旅程的可行性。
#jakarta faces#无状态架构#服务端渲染#java web框架#水平扩展
$ more
foojay

在GraalVM原生镜像中运行DuckDB的JDBC驱动程序

DuckDB是一个进程内分析数据库,只需向Java项目添加一个JAR即可获得直接读取CSV、Parquet和JSON文件的SQL引擎。GraalVM Native Image可将Java程序预编译为独立可执行文件,启动仅需毫秒且无需目标机器安装JVM。本文介绍如何将DuckDB JDBC驱动与GraalVM Native Image结合,通过跟踪代理生成JNI元数据并构建单一二进制数据工具。早期尝试因类初始化时机导致UnsatisfiedLinkError,GraalVM for JDK 22起默认改为运行时初始化后问题得到解决。实测duckdb_jdbc 1.5.5.0与GraalVM Community Edition 25.0.2在macOS Apple Silicon和Linux x64上构建成功,文中提供了Hello World示例,并讨论了更大规模应用中的启动性能表现。
#duckdb#graalvm#jdbc#java#原生镜像
$ more
foojay

SQLite 全端统一:一个契约,一种加密文件格式

Codename One 将各平台各自实现的 SQLite 统一为一份经过测试的数据库契约,覆盖 Android、iOS、JavaScript、Windows、Linux、watchOS、tvOS 和模拟器,并支持口令、托管密钥和原始密钥三种加密模型。该方案采用 SQLCipher 4 文件格式,加密数据库可在各端口间迁移,Windows 和 Linux 不再返回 null,JavaScript 改用 WebAssembly 替代已移除的 WebSQL。同步发布的内容还包括手表与手机独立应用模型、浏览器 DOM 文本搜索、智能家居统一 API、Android 点劫持防护、摄像头视觉扫描以及 App Intents。
#codename one#sqlite#跨平台开发#数据库加密#移动应用
$ more
foojay

App Shield:服务器不应信任调用它的应用

发布概述 Codename One 发布 App Shield 企业级应用认证层,将 Apple App Attest 与 Google Play Integrity 的硬件背书转换为后端可验证的短期 ES256 令牌,并在请求中附加 X-CN1-Attest。其核心思路是:仅在本机运行的安全检查可能被绕过,最终决策应由服务器根据可验证凭证作出。本次更新还支持 .otf OpenType 字体,推进 Maven 仓库向 R2 迁移,并更换 Windows 桌面构建服务器及调整推送服务地址。
#app shield#应用安全#移动开发#后端验证#安全令牌
$ more
DZone Java

务实的过早优化:不要错失关键3%的性能机会

本文从Knuth名言“过早优化是万恶之源”入手,指出人们常忽略后半句:“但不应错失那关键的3%”。作者认为简单、廉价且通用的优化技巧普遍适用,不依赖架构或框架。文中以JDK字符串操作为例,说明toLowerCase()与equals/startsWith/contains组合会分配额外字符串并降低性能,应使用equalsIgnoreCase或Apache Lang3的case-insensitive方法;正则表达式比普通字符串方法慢很多,应尽量复用预编译Pattern。集合查找用HashSet可将O(n)降为O(1),TreeSet和TreeMap支持大小写不敏感且无额外分配。枚举查找可用静态Map或NavigableMap实现O(1)查找,避免流式遍历的开销。日志记录器应声明为static final,SimpleDateFormat应被线程安全的DateTimeFormatter取代。结论是好的代码与高效代码并不冲突,关键是一秒钟的停顿:能否用一次代替多次。
#过早优化#性能优化#java#代码质量#最佳实践
$ more
Jetbrains Blog

Django 2026调查报告:稳定才是王道

Django软件基金会与PyCharm联合发布第五次Django开发者调查,覆盖40多个国家近3500名开发者。结果显示,Django核心生态保持稳定:PostgreSQL连续五年是最常用数据库,模板引擎使用率约80%,43%受访者已升级至Django 6.0。AI已成为主流开发工具,仅10%受访者不使用AI编码,但使用方式尚未定型,多数人仍采用“AI生成、人工审核”的监督式流程。Python工具链正快速整合,uv和Ruff等新兴工具迅速普及;类型提示渐成规范,类型检查工具竞争仍开放。Django在服务端渲染和API后端两种开发路线并行发展,其稳定性让开发者能放心尝试新工具和技术。
#django#开发者调查#ai辅助开发#python工具链#类型检查
$ more
Jetbrains Blog

JetBrains Cadence 遭遇安全事件,用户数据遭泄露

事件概述 JetBrains 披露其云服务 Cadence 遭遇安全事件。该服务通过 TeamCity 编排任务,因存在未修补的 CVE-2026-63077 漏洞而被攻击者利用,影响时间约为 2026 年 8 月 8 日至 24 日。已确认受攻击服务器为 api.cadence.jetbrains.com,攻击者访问并窃取了用户名、真实姓名、邮箱、最后登录时间及 IP 等个人数据,还获取了 2024 年完整备份、多个 AWS IAM 用户凭据及 S3 存储文件,部分同步至 Cadence 的源代码也可能泄露。JetBrains 已于 8 月 24 日将服务器下线并注销插件访问令牌,且正在通知相关部门。建议用户立即轮换或撤销所有相关凭据与密钥,审查关联系统、代码仓库和云环境,并将所有 Cadence 执行及其输入输出视为不可信。
#jetbrains cadence#安全事件#数据泄露#teamcity#云服务安全
$ more
InfoQ Java

Spring Boot中的后量子密码学:本迭代可落地的四种模式

文章针对Spring Boot微服务架构,提出后量子密码迁移中可落地的四种模式:服务间负载加密、数据库字段级加密、长期文档Dilithium签名,以及将OAuth2服务账户令牌从RS256迁移到量子安全签名。作者强调“先收集、后解密”威胁已现实存在,银行等机构存储的长期数据尤其面临风险;JDK 24原生支持ML-KEM和ML-DSA,Bouncy Castle可覆盖旧版本。文中指出,密钥管理是生产部署的关键前提,必须接入AWS KMS或HashiCorp Vault,否则字段级加密无法通过安全审计。建议按数据生命周期与监管风险排序,优先保护生命周期最长、监管暴露面最大的数据。
#后量子密码学#spring boot#数据加密#数字签名#密钥管理
$ more