Hardwood 1.0 is a new Apache Parquet reader library for the JVM, built from scratch with no mandatory dependencies and multi-threaded page decoding by default. It targets Java 21+, is Apache 2.0 licensed, and available on Maven Central. The library offers two APIs: a row reader for ergonomic record access and a column reader for high-throughput analytical workloads. Benchmarks show Hardwood achieving 16.5M rows/sec on 8 vCPUs vs parquet-java's single-threaded approach, with consistent advantages in both full scans and predicate push-down scenarios. A CLI tool with an interactive TUI (hardwood dive) is also included, with native binaries for Linux, macOS, and Windows. Upcoming work includes Parquet write support in 1.1, Bloom filter support, encryption, and Apache Flink integration.
Nguồn: https://www.morling.dev/blog/hardwood-1-0-fast-lightweight-apache-parquet-reader-for-the-jvm. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
JMathAnim là thư viện JavaFX do nhà toán học David Gutierrez phát triển, cho phép tạo các hình ảnh toán học động và xuất ra video. Thư viện hỗ trợ hoạt ảnh công thức LaTeX, hình học, fractal và lý thuyết số, tích hợp trình soạn thảo mã Ruby, highlighting cú pháp, render LaTeX và xuất video. Gutierrez xây dựng nó trong thời gian giãn cách COVID mà không có nền tảng kỹ thuật phần mềm truyền thống.
Nếu bạn muốn khám phá cách kết hợp toán học với lập trình để tạo ra những biểu diễn động thú vị cho giáo dục hoặc nghiên cứu, JMathAnim sẽ là nguồn tư liệu hữu ích để bạn học cách xây dựng các animation toán học chuyên nghiệp từ JavaFX.
Vaadin 25.2 introduces three major additions for Java-based UI development. First, AI controllers (GridAIController, ChartAIController, FormAIController) let end users build data grids, charts, and fill forms using natural-language prompts, with data never sent to the LLM for safety. Second, seven native browser APIs — Geolocation, Clipboard, Fullscreen, WakeLock, Page Visibility, WebShare, and Screen Orientation — are now accessible from server-side Java without writing JavaScript. Third, existing TestBench or Playwright end-to-end tests can be converted into Grafana k6 load tests via a Maven plugin. The release also graduates several components (Slider, Badge, Master-Detail Layout, Modular Upload) to GA, deepens Signals integration, adds security hardening (safe-by-default URLs, clickjacking protection, supply-chain delay for npm packages), and enhances Vaadin Copilot with an annotation/review workflow, customizable palette, and EU-hosted option.
A new AI Builder Advocate at Okta introduces herself, sharing her journey from backend software developer to developer relations. She covers her technical background in Java, Spring Boot, Quarkus, Kubernetes, and Docker, her community work as a MongoDB Champion, and her excitement about the intersection of identity, security, and AI at Okta.
Zalando's engineering team built an in-process client-side load balancer (CSLB) to handle over a million requests per second of internal fan-out traffic for their Product Read API, replacing shared Skipper ingress hops. The implementation replicates Skipper's xxHash64 consistent-hash ring for cache locality, uses a Kubernetes watch-based informer for pod discovery, and adds N-ring fade-in to prevent cold-cache spikes on scale-up. A key innovation is occupancy-based bounded load using Little's Law (seconds of work per second) rather than in-flight counts or throughput, combined with a latency multiplier borrowed from Finagle. Results include eliminating Skipper's fleet from 50+ pods to 8, reducing their own pod fleet by 25%, and saving over $1,000/day. AZ-aware routing was prototyped but paused due to edge cases around bounded-load threshold miscalculation during dual fade-in. The post also covers pipeline improvements, retry hardening, FIFO buffering, and how detailed logging revealed mysterious node-level network freezes that had previously been invisible.
SwingBridge 1.2 cho phép giao tiếp hai chiều giữa Java Swing và Vaadin thông qua các phương thức Java đơn giản, quản lý luồng tự động giữa Swing EDT và Vaadin UI thread. Phiên bản mới hỗ trợ ứng dụng NetBeans RCP, cải thiện khả năng phản hồi của canvas trình duyệt, cập nhật lên nền tảng Vaadin mới nhất và cung cấp xử lý lỗi rõ ràng hơn khi khởi chạy ứng dụng Swing thất bại.
Lập trình viên phát triển ứng dụng đa nền tảng sẽ tìm hiểu SwingBridge 1.2 để tối ưu hóa giao diện người dùng trên cả môi trường desktop Swing và web Vaadin mà không gặp rủi ro deadlock và cần thiết cho các dự án hỗ trợ cả hai nền tảng.
A Q&A-style writeup from a Foojay podcast episode covering Quarkus in depth. Topics include how Quarkus compares to Spring Boot and Micronaut, its build-time optimization approach (vs JIT and AOT), live reload and Dev Mode features, JVM vs native compilation trade-offs, cloud cost reduction through resource density and scale-to-zero, and how Vert.x and Virtual Threads work together. The post also covers observability with OpenTelemetry, security via OIDC/WebAuthn extensions, and the Quarkiverse extension ecosystem.

Java's SSLContext.getInstance() method has a counterintuitive and dangerous behavior: specifying a TLS version like "TLSv1.2" does not set a minimum version as the documentation implies — it actually sets a maximum version, silently capping the connection to that version and below. This means developers who follow common advice to specify a version string may unknowingly be implementing a self-inflicted protocol downgrade attack. The behavior is present in both the default SunJSSE provider and Android's Conscrypt/BoringSSL provider. The recommended workaround is to use the generic "TLS" identifier instead, which modern JDK implementations interpret as supporting TLS 1.2 and 1.3. The issue affects client-side connections only; server-side contexts ignore the version parameter entirely.
SBCE là phương pháp phát triển theo đặc tả (spec-driven) tích hợp trực tiếp đặc tả vào file package-info.java của Java thông qua JEP 467 Markdown comments (///). Phương pháp này hoạt động ở hai chế độ: 'new' để viết đặc tả và 'apply' để điều chỉnh code cho đến khi test pass, không cần CLI hay dependencies, nhằm phục vụ AI agents theo kiến trúc bce.design.
Lập trình viên nên đọc bài này để khám phá cách tích hợp quy định kỹ thuật trực tiếp vào mã nguồn bằng cách sử dụng Javadoc, giúp giảm thiểu sự trùng lặp và tối ưu hóa quá trình phát triển bằng cách loại bỏ các file spec riêng biệt.