Pitfalls to avoid when switching to Virtual threads

Java virtual threads, introduced in JDK 19, enhance application performance but come with pitfalls. Developers should avoid synchronized blocks, thread pools, and excessive use of ThreadLocal variables. Implementing ReentrantLock and Semaphore can mitigate resource access issues, enhancing memory efficiency by preventing unnecessary blocking and managing concurrent accesses effectively.

Read MorePitfalls to avoid when switching to Virtual threads

Confoo 2023 – MEMORY PATTERNS TO PREDICT PRODUCTION OUTAGES

ConFoo Montreal is a conference for developers featuring a global exchange of knowledge. Architect Ram Lakshmanan presented on "Memory Patterns to predict production outages," discussing six unique memory patterns that help forecast outages and optimize application performance. Attendees could view videos, presentations, and feedback from the conference.

Read MoreConfoo 2023 – MEMORY PATTERNS TO PREDICT PRODUCTION OUTAGES

Confoo 2023 – KNOWN JAVA APIs, UNKNOWN PERFORMANCE IMPACT!

ConFoo Montreal is a technology conference for developers featuring global speakers. Architect Ram Lakshmanan discussed "KNOWN JAVA APIs, UNKNOWN PERFORMANCE IMPACT," highlighting commonly used Java APIs and their potential performance consequences. The session included video content, slides, and student feedback, emphasizing the importance of understanding API impacts on application performance.

Read MoreConfoo 2023 – KNOWN JAVA APIs, UNKNOWN PERFORMANCE IMPACT!

ThreadLocal – easy introduction

This post discusses variable scopes in Java, focusing on ThreadLocal variables that are specific to individual threads. ThreadLocal avoids costly refactoring by allowing thread-specific data access without passing variables through method calls. While it offers benefits like reduced code changes and contextual data storage, it poses challenges such as data safety and debugging complexities.

Read MoreThreadLocal – easy introduction

Synchronized method – Boy Friend Threads & Girl Friend Object

This post explains Java's synchronized methods, allowing only one thread to access a method at a time. It contrasts the behavior of non-synchronized and synchronized methods using an example involving multiple threads representing boyfriends meeting a girlfriend. The synchronized method ensures sequential execution, preventing threads from entering before the current one finishes.

Read MoreSynchronized method – Boy Friend Threads & Girl Friend Object

Can threads execute different synchronized methods on same object?

The post explores the behavior of synchronized methods in Java when two threads attempt to execute different synchronized methods of the same object. It demonstrates that when one thread holds a lock on an object's synchronized method, the other thread is blocked from executing another synchronized method on the same object until the first thread completes.

Read MoreCan threads execute different synchronized methods on same object?

Java Static Synchronized method behavior

This post explores static synchronized methods in Java with a demonstration involving two methods in a class. It highlights how only one thread can execute a static synchronized method at a time, using a thread dump analysis to illustrate the blocking nature of synchronization. The behavior when combining static and non-static methods is also examined.

Read MoreJava Static Synchronized method behavior