Month: June 2025
Timezones in Java: How to Schedule Classes Correctly Across Time Zones?
Natan Ferreira- 0
- 287
Imagine you’re developing a platform like Cambly, where students and teachers are spread across the globe. A student in Brazil wants to schedule a class at 10:00 AM local time with a teacher living in Australia. How can you ensure that both are connected at the right time, even though they’re in different time zones?…
Read More
How to avoid race condition in shared resources in Java?
Natan Ferreira- 0
- 332
Sharing resources between threads can be a challenging task, as it requires ensuring that operations are atomic. What is a resource? A resource can be variables, data structures, files, messages, etc. In Java, we have two important memory areas: the Stack and the Heap. Why use shared resources between threads? There are many reasons, but…
Read More
How to use Kafka with Quarkus?
Natan Ferreira- 0
- 805
Apache Kafka is one of the most popular solutions for large-scale distributed event streaming. Its ability to handle high volumes of messages makes it ideal for event-driven architectures. In this post, you’ll learn how to use Kafka with Quarkus, a modern framework for cloud-native Java applications. Best of all: Quarkus’ Kafka support also works with…
Read More
What are Checked vs Unchecked Exceptions in Java?
Natan Ferreira- 0
- 802
In Java, exceptions are part of the Throwable hierarchy and are used to signal abnormal situations during the execution of a program. Understanding how exceptions are structured helps in designing more robust and readable code. At the top of the hierarchy is the Throwable class, which has two direct subclasses: Checked Exceptions Checked exceptions are…
Read More