A practical guide to migrating legacy Java applications from JDK 7 to JDK 21 (and beyond), based on 18 months of real-world experience across 15+ production projects. The core advice is to hop LTS version by LTS version (7→8→11→17→21) rather than attempting a single big jump. Key steps include running a dependency audit first, using OpenRewrite for automated refactoring, manually updating build file Java version targets, and budgeting significant time for Hibernate 6 breaking changes (ResultSet reading by position, @Type rework, removal of IdGeneratorStrategyInterpreter). The guide also covers JDK 25 changes, CI/CD pipeline updates, and a phased migration plan: inventory, dependency cleanup, one hop at a time, then repeat.
Nguồn: https://foojay.io/today/jurassic-jdk-migrate-or-extinct. 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.
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.
Monthly curated roundup of JavaFX news for June 2026, covering core framework updates (LTS backports, reducedMotion accessibility support, lazy stylesheet initialization), community-built applications (an agentic browser, PDF viewer, knowledge management app, canvas drawing tool), new libraries and tools (Lottie4J 1.2.4, FX Flow 0.6.1, ShellFX, FXML/2 IntelliJ plugin, DiFX CDI integration), videos and podcasts, and highlights from the JFX Adopters Meeting 2026 held in Munich.
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.
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.
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.
A step-by-step guide to extending Spring Authorization Server to support dynamic OAuth 2.0 scopes — scopes not known in advance by the authorization server. Covers when dynamic scopes are useful (e.g., single-operation tokens for transfers or sensitive updates), and walks through the required customizations: scope validation logic via a custom AuthenticationValidator, consent validation using a Predicate, a custom consent page with Thymeleaf, and end-to-end integration testing with WebEnvironment.RANDOM_PORT and RestTestClient. Code separates Spring-specific adapter code from business logic via a DynamicScopeService.
Một chuyên viên mới tại Okta, hiện đảm nhiệm vai trò AI Builder Advocate, chia sẻ hành trình chuyển từ lập trình viên backend sang developer relations. Cô có nền tảng kỹ thuật vững chắc với Java, Spring Boot, Quarkus, Kubernetes và Docker, đồng thời tích cực tham gia cộng đồng với tư cách MongoDB Champion, đặc biệt hứng thú với lĩnh vực identity, security và AI tại Okta.
Những người có kinh nghiệm kỹ thuật như backend nhưng muốn chuyển hướng sang cộng đồng hoặc công tác phát triển cộng đồng nên tìm hiểu cách kết nối kiến thức kỹ thuật với chiến lược cộng đồng hiệu quả để mở rộng ảnh hưởng và đóng góp giá trị thực tế cho cộng đồng phát triển.