Last month, a few Kabisa colleagues went to the annual J-Fall conference organized by NL-JUG. With this being the 20th anniversary as well and our previous experience at J-Spring, we knew we had to be there! The timetable showed many cool talks, promising a very informative and interesting day.
“The best single day conference”
J-Fall is often called the best ‘single day conference’ in the world, gathering great speakers from all over the world. With about 80% of the talks being focussed on Java, it’s pretty much a no-brainer for Dutch Java developers to attend. In between the talks there are a lot of stands from different companies eager to have a talk with you, which is great for networking.
The event this year took place at the Pathé theater in Ede, making the cinema seating ideal for comfortably enjoying a day filled with engaging presentations ;).
Some talks we attended
The morning started strong with a talk about JobRunr from the creator himself, Ronald Dehuysser. JobRunr is an open-source library that simplifies background job processing in Java applications. It allows developers to perform background tasks, such as batch processing or scheduled tasks, asynchronously. The talk was a good mix of introduction, deep dive and a live demo. With the risk of keeping too many tools in your toolkit, we (at Kabisa) were yet again convinced JobRunr is the one worth keeping. Check out the project here.
Write your own Java profiler in 240 lines of pure Java
Informative talk by Johannes Bechberger that demonstrated how to build a simple yet effective Java profiler using only 240 lines of code. This is particularly useful for developers who need to monitor and optimize the performance of their Java applications. The Profiler helps identify performance bottlenecks and understand how code executes in a live environment. Read his blog post here.
CRaC (Coordinated Restore at Checkpoint)
CRaC is a project for the JVM aimed at improving support for fast application restarts and overall manageability. It’s particularly relevant in contexts where applications need to be quickly stopped and resumed, such as in cloud environments (serverless) or microservices architectures.
It basically works like this:
- The JVM pauses the application, capturing its entire state, including memory, thread states, and internal JVM settings, and serializes this state into a storable format. It’s important to note that this will only really have a positive effect if the checkpoint is created under “normal” load. This way we ensure that the snapshot accurately represents the application’s real-world state.
- When restarting, instead of the usual boot-up process, the JVM restores the application from this checkpoint, reloading the saved state and resuming execution right where it left off.
- This leads to a significantly faster startup time.
Definitely an interesting talk, if you’d like to know more about it Azuls official documentation is a good starting point.
A fun and absurd introduction to Vector Databases
This was our last talk of the day, being a bit tired after intensively listening to talks all day our energy was pretty low. However, Alexander Chatzizacharias definitely got us excited again with his playful and enthusiastic talk about Vector Databases. The session explores how to convert data into vectors and effectively query them. It covers various applications, from text and image searches to generative search. Alexander combined a Unity game demo with some Vector database magic which really enhanced his talk. You can view his full talk here. We certainly encourage you to watch it.
See you next year?
Were you present this year? What talks did you attend and which talk blew your mind?
For us, this year’s version of J-Fall exceeded our expectations, it was well organized and filled with great informative talks. Definitely the go-to Java conference in the Netherlands. We are looking forward to attending J-Fall in 2024!