DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Enterprise AI Trend Report: Gain insights on ethical AI, MLOps, generative AI, large language models, and much more.

2024 Cloud survey: Share your insights on microservices, containers, K8s, CI/CD, and DevOps (+ enter a $750 raffle!) for our Trend Reports.

PostgreSQL: Learn about the open-source RDBMS' advanced capabilities, core components, common commands and functions, and general DBA tasks.

AI Automation Essentials. Check out the latest Refcard on all things AI automation, including model training, data security, and more.

Related

  • Part 3 of My OCP Journey: Practical Tips and Examples
  • Fun Is the Glue That Makes Everything Stick, Also the OCP
  • Does the OCP Exam Still Make Sense?
  • DZone Community Awards 2022

Trending

  • 10 Tips To Improve Python Coding Skills in 2024
  • Implementing Persistence With Clean Architecture
  • Architectural Insights: Designing Efficient Multi-Layered Caching With Instagram Example
  • Types of Bot Traffic on a Public Internet Website
  1. DZone
  2. Coding
  3. Java
  4. Devoxx Belgium 2023 Takeaways

Devoxx Belgium 2023 Takeaways

In October 2023, I visited Devoxx Belgium, and again, it was an awesome event! In this blog, you can find my takeaways from Devoxx Belgium 2023!

By 
Gunter Rotsaert user avatar
Gunter Rotsaert
DZone Core CORE ·
Oct. 25, 23 · Opinion
Like (7)
Save
Tweet
Share
4.8K Views

Join the DZone community and get the full member experience.

Join For Free

In October 2023, I visited Devoxx Belgium, and again, it was an awesome event! I learned a lot and received quite some information which I do not want to withhold from you. In this blog, you can find my takeaways from Devoxx Belgium 2023!

Introduction

Devoxx Belgium is the largest Java conference in Europe. This year, it was already the 20th edition. As always, Devoxx is being held in the fantastic theatres of Kinepolis Antwerp. Last year, there was a rush on the tickets. This was probably due to the fact that the previous two editions were canceled because of COVID-19. Not true. This year, the tickets were sold out even faster! The first batch of tickets was sold out in a few seconds. For the second batch, you could subscribe yourself, and tickets were assigned by means of a lottery system.

The first two days of Devoxx are Deep Dive days, where you can enjoy more in-depth talks (about 2-3 hours) and hands-on workshops. Days three and five are the Conference Days, where talks are being held in a time frame of a maximum of 50 minutes. You receive a lot of information!

Enough for the introduction. The next paragraphs contain my takeaways from Devoxx. This only scratches the surface of a topic, but it should be enough in order to make you curious to dive a bit deeper into the topic yourself.

Do check out the Devoxx YouTube channel. All the sessions of the Deep Dive Days and the Conference Days are recorded and can be viewed here. If you intend to view them all, there are 210 of them…

Java Ecosystem Development

Java 21

With the release of Java 21 in September, quite some talks were related to the new features of Java 21. A good starting point is the keynote of Brian Goetz, which gives a good summary of what’s new in Java. From here on, you can choose the topics you want to know more about. Some of these topics include virtual threads, ZGC garbage collector (no longer worry about garbage collector pauses!), project Panama (interconnect with native code, but better than JNI), etc. Besides that, Oracle is working on a Visual Studio Code extension in order to make it easier to use VSCode in combination with Java. Also, the Java Playground is announced, where you can easily experiment with Java from within the browser.

Brian also looked back at the release cadence of Java. The conclusion is that it worked better than they had hoped for. He also called the open-source maintainers to follow this same release cadence. This should make it easier for everyone to upgrade to a new Java version.

jOOQ

This deep dive by Simon Martinelli about jOOQ was illuminating (there is also a conference talk available). I do favor writing SQL instead of abstracting the database away by means of an ORM. jOOQ has a database-first approach. Besides that, it offers you typesafe SQL syntax, typesafe SQL constructors, and SQL dialect abstraction. jOOQ offers an open-source version that is free to use. You do need to use the latest stable version of the database you are using. If you need to use an older database version or some specific features, you need a paid license, but prices are not that expensive compared to what jOOQ offers you. jOOQ needs a running database in order to generate source code. This can now easily be done by means of this Maven plugin, which uses Testcontainers.

Testing Microservices

Victor Rentea is always a pleasure to watch: entertaining talks and a lot of information. Testing microservices is one of the talks he gave at Devoxx; do check out the others as well. You should start with API integration tests and complement them with unit tests. This way, you do not need to make extensive use of mocks. Integration tests are made easier with the help of Wiremock and Testcontainers. When you create tests, you need to ensure that the tests can be executed independently from each other. You can do so by annotating your tests with @transactional. Your database actions will be rolled back after the test has been executed. A warning was raised not to overuse @DirtiesContext. When you use this, Spring needs to be restarted for each test (takes approximately 15-20). In other words, the Spring Context cannot be reused between tests, and your tests just take longer.

Performance and Scale

This is an interesting talk by Donald Raab and Rustam Mehmandarov about how large data structures pose certain restrictions on performance and scalability. They show you how you can use the Java Object Layout (JOL) tool to analyze the layout of your objects. They show you what you can do in order to minimize the memory footprint of your data structures.

Artificial Intelligence

Introduction to Building AI Applications

This talk by Greg Kamradt introduces you to the world of LangChain. LangChain allows you to create a context-aware reasoning application. The tutorials can be found here. What was interesting to me was the use case where you can add your own data sources and your own content to the Large Language Model (LLM) and ask questions about this content. This is actually how chatbots work. You ask the LLM a question, and it will respond with a human-readable message.

LangChain is a Python library, but if you want to integrate this into your Java application, you can use LangChain4j. Do watch this talk by Lize Raes. It is amazing what can be done with just a few lines of code. I hardly took any notes because I was too much paying attention.

AI Coding Assistants

Something that will impact our lives as a developer is AI coding assistants. Bouke Nijhuis gave a clear overview and demonstration of some coding assistants. He compared Tabnine (which already exists since 2013!), GitHub Copilot, and ChatGPT. ChatGPT does not have an IDE plugin, so it is a bit less user-friendly. Some features like code generation, test generation, explaining code, finding bugs, and refactoring code are demonstrated. Privacy is also covered in this talk. Your code is sent over the wire to the coding assistant. Only Tabnine offers a self-hosting option. So, why should you use a coding assistant? You pair the program with the coding assistant, and you can write code faster.

Besides these three coding assistants, JetBrains also announced their AI assistant during the keynote. It is still in preview, but the demonstration was very promising.

MLOps

If you want to learn more about MLOps, watch this talk by Bert Gossey. MLOps is a model development lifecycle, just like we have the software development lifecycle. It consists of the following steps:

  • Data gathering;
  • Model training;
  • Model evaluation: here, you will verify by means of a subset of the training data whether the model is okay;
  • Model deployment;
  • Monitoring in order to detect data model drift.

The steps are executed by specialists: data engineers, data scientists, software engineers, and operations. This means that you will also have handovers. And that is where MLOps comes to the rescue. MLOps actually extends DevOps with Machine Learning (data and model). Tools that support MLOps workflow are KubeFlow and MLFlow.

Other

Software Architecture as Code

Simon Brown, the creator of the C4 model, introduced Structurizr. A tool that allows you to create your C4 diagrams as code. It will also ensure consistency between your diagrams, and it will allow you to create diffs. Structurizr is a complete tool and is quite interesting. I will definitely take a closer look at it.

Authorization

There were quite some talks about authorization, mainly about OAuth2, OpenID Connect, and WebAuthn. WebAuthn can be used as a 2FA using a Passkey (i.e., passwordless login). You can try it at webauthn.io. It is important to know how these authorization methods work.

Spring Authorization Server is a framework that allows you to build something like Keycloak. It is not meant to become a competitor to Keycloak. Use cases are when you need advanced customization, when you need a lightweight authorization server, or for development purposes.

Keynotes

Do check out the keynotes. The opening and closing keynotes are worth watching. You learn something, and you laugh quite a bit.

  • Embracing Imposter Syndrome by Dom Hodgson
  • Introducing Flow: the worst software development approach in history by Sander Hoogendoorn and Kim van Wilgen

Conclusion

Devoxx 2023 was great, and I am glad I was able to attend the event. As you can read in this blog, I learned a lot, and I need to take a closer look at many topics. At least I do not need to search for inspiration for future blogs!

Devoxx Java (programming language) career

Published at DZone with permission of Gunter Rotsaert, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Part 3 of My OCP Journey: Practical Tips and Examples
  • Fun Is the Glue That Makes Everything Stick, Also the OCP
  • Does the OCP Exam Still Make Sense?
  • DZone Community Awards 2022

Partner Resources


Comments

ABOUT US

  • About DZone
  • Send feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: