It is often useful to have objects that, once created, don't change their content. To see a complete description on how to build such class, you can read my previous article "Immutable Objects in Java".
Let's imagine we want to build a PersonClass
with two fields: firstName
and lastName
. To create immutable instances, this class must:
30 Jul 2025 8:00pm GMT
Foreword
In modern Java microservices, gRPC simplifies inter-service communication with its efficient binary protocol and multi-language support. However, maintaining gRPC API documentation can be challenging as projects grow. Among various AI tools, smart-doc stands out as the optimal solution for generating gRPC API documentation in Java projects.
Advantages of Smart-Doc in Java Projects
1. Fast Speed
Smart-doc is designed to quickly scan code and generate documentation without additional runtime dependencies. It directly extracts .proto
files, compiles them into Java code using protoc
, and then generates documentation by parsing the Java code and comments. This process is much faster than AI tools.
25 Jul 2025 1:00pm GMT
To download the release go to . UPGRADING Before upgrading refer to for a complete list of changes. ALL RESOLVED ISSUES NEW FEATURES * Add option "Requires short state parameter" to OIDC IDP authentication ENHANCEMENTS * Run clustering compatibility tests on release/x.y branches * Improve logging for client sessions load * Upgrade to Infinispan 15.0.18.Final infinispan BUGS * Flaky test: org.keycloak.testsuite.cluster.JGroupsCertificateRotationClusterTest#testCoordinatorHasScheduleTask ci * Update MariaDB connector to 3.5.3 dist/quarkus * Flaky test: org.keycloak.testsuite.cluster.PermissionTicketInvalidationClusterTest#crudWithFailover ci * Upgrade org.postgresql:postgresql to version 42.7.7 to address CVE-2025-49146 dependencies * CVE-2025-49574 - Exposure of Resource to Wrong Sphere vulnerability in io.vertx:vertx-core dependencies * Flaky test: org.keycloak.testsuite.cluster.RealmInvalidationClusterTest#crudWithFailover ci * Default jdbc-ping cluster setup for distributed caches fails in Oracle infinispan * Loglevel recorded from build phase dist/quarkus * Can't update security-admin-console via admin UI with volatile sessions infinispan * LDAP / ModelException: At least one condition should be provided to OR query core * Flaky test: org.keycloak.testsuite.cluster.ClientInvalidationClusterTest#crudWithFailover ci * FIPS errors in CI * Multiple primary key defined when attempting to upgrade after 26.3.0 core * Service Account users now showing in the User List admin/ui * Unknown relation when removing realm role with --db-schema configured storage * Docs use em-dashes instead of double dashes for SPI options in regular text docs * UpdateTest CI failures ci * [26.3] MariaDB connector dependency is not properly overriden dist/quarkus
24 Jul 2025 12:00am GMT
While working on some code where I wanted to obscure parts of it using Unicode escapes instead of the actual source, I accidentally stumbled upon an undocumented feature that's been around since Java 16: what I call the end-of-file comment.
In Java, we typically have three types of comments:
23 Jul 2025 6:00pm GMT
These are some of the blogs I follow for high-signal content, real-world lessons, and emerging patterns. 1. The Burning Monk (Yan Cui) - Deep technical guides, real-world insights, and event-driven serverless at its best. π 2. Off-by-none (Jeremy Daly) - Weekly curated newsletter filled with top serverless news, tools, and community updates. π 3. A Cloud Guru Blog - Trusted training content with strong coverage of AWS, certifications, and serverless how-tos. π 4. Serverless.com Blog - Official blog for the Serverless Framework team with tutorials, product updates, and ecosystem insights. π 5. AWS Community Builders Blog - Real-world articles from active AWS contributors and thought leaders. π 6. Serverless Transformation (Aleios) - Strategy-rich serverless insights, especially around event-driven architecture. π 7. AWS Compute Blog - Deep dives into AWS Lambda, Step Functions, and compute services directly from AWS. π 8. AWS Architecture Blog - High-level cloud-native architecture practices and guidance for scalable apps. π 9. Lumigo Blog - Focused on observability, monitoring, and debugging in serverless environments. π 10. Serverless360 Blog - Azure-first serverless content with strong focus on Azure Functions and service management. π 11. Nick Tune's Blog - Sociotechnical thinking and service design strategies for microservices and serverless. π 12. AWS Enterprise Strategy Blog - Executive cloud transformation strategies, ideal for leadership and enterprise architects. π 13. Theodo Blog - Engineering-led content featuring serverless, migration, and rapid product delivery stories. π 14. Serverless First (Paul Swail) - Practical daily tips, guides, and architecture breakdowns from an experienced consultant. π 15. Serverless Land - AWS-curated library of patterns, tutorials, and EDA content for serverless professionals. π 16. Lego Engineers Blog (Sheen Brisals & team) - Real enterprise-scale implementation stories from a global brand. π 17. Serverless Chats Podcast - Interviews with top serverless minds - with full transcripts for every episode. π 18. Serverless Guru Blog - Transformation-focused advice and engineering best practices from a consultancy team. π 19. The Serverless Edge Blog - Cloud strategy, org design, and the "value flywheel effect" in serverless transformation. π 20. InfoQ Serverless - Aggregated industry-wide coverage, articles, and videos on serverless and architecture. π 21. Jeremy Daly's Personal Blog - Detailed architectural posts and in-depth serverless exploration beyond the newsletter. π 22. Lee Gilmore's Blog - Valuable insights on enterprise serverless adoption and scaling strategies. π 23. Ready, Set, Cloud (Allen Helton) - Friendly, digestible blog posts with great diagrams and tutorials. π 24. Sheen Brisals's Blog - Engineering leadership perspectives with an emphasis on EDA and maturity. π 25. Aiden Steele's Blog - Low-level AWS insights with rare gems on Lambda internals and advanced configurations. π 26. Luc van Donkersgoed's Blog - Visual, simple explanations of complex cloud patterns and serverless tips. π 27. Benjamen Pyle's Blog (Binary Heap) - Great technical content on building serverless in Rust. π 28. Ben Kehoe's Blog - Deep strategic thinking on cloud operations, organizational design, and serverless ops. π 29. Alex DeBrie's Blog - Author of The DynamoDB Book, Alex shares thorough serverless data modeling guides. π 30. Last Week in AWS (Corey Quinn) - Hilarious, opinionated, and insightful commentary on all things AWS - including serverless. π 31. AWS Fundamentals Blog - Accessible cloud concepts from community experts. π 32. Vadym Kazulkin on Dev.to - Detailed explorations of Lambda SnapStart and Java serverless.π 33. Cloudonaut Blog (Wittig Brothers) - Production-grade AWS best practices and architectural tips. π Do you know other technical blogs on serverless or cloud? Comment below and share your favorites.
13 Jul 2025 8:59am GMT
To download the release go to . UPGRADING Before upgrading refer to for a complete list of changes. ALL RESOLVED ISSUES ENHANCEMENTS * Upgrade to Infinispan 15.0.16.Final * Update limitations of the preview feature rolling updates for patch releases infinispan BUGS * Importing a realm takes more than 1 minute when multiple others exist. dist/quarkus * NPE during loading user groups with concurrent deletion storage * Unable to configure TLS reloading in Keycloak version 26.2.0 or later account/api * Mark options for additional datasources as preview dist/quarkus * Keycloak Operator 26.3.0 fails to update to 26.3.0 operator * Docs: server_development/topics/themes.adoc docs * Keycloak 26.3.0 Regression: Failed to login if web-authn is disabled core
10 Jul 2025 12:00am GMT
Last February, we released the first beta of jQuery 4.0.0. We're now ready to release a second, and we expect a release candidate to come soonβ’. This release comes with a major rewrite to jQuery's testing infrastructure, which removed all deprecated or under-supported dependencies. But the main change that warranted a second beta was a β¦ Continue reading β
17 Jul 2024 2:03pm GMT
jQuery's influence on the web will always be evident. When it was first introduced in 2006, jQuery became a fundamental tool for web developers almost immediately. It simplified JavaScript programming, making it easier to manipulate HTML documents, handle events, perform animations, and much more. Since then, it has played and continues to play a major β¦ Continue reading β
17 Apr 2024 5:00pm GMT
jQuery 4.0.0 has been in the works for a long time, but it is now ready for a beta release! There's a lot to cover, and the team is excited to see it released. We've got bug fixes, performance improvements, and some breaking changes. We removed support for IE<11 after all! Still, we expect disruption β¦ Continue reading β
06 Feb 2024 4:43pm GMT