Understanding and optimizing the Garbage Collection - Part 1 [pt]

In February, 2012 I published an article (in Portuguese) in Java Magazine #102, about the Garbage Collection process in Java, detailing how do the JVM HotSpot 6 and 7 collectors work and how to optimize their behavior through JVM options.

Article Understanding and optimizing the Garbage Collection - Part 1 - DevMedia


This article presents concepts and metrics about Garbage Collection in Java, as well the categorization of the heap memory in generations. Next, presents the JVM HotSpot 6 and its overall operation with Garbage Collection, as much as its customization through JVM options. From here, explains about each collector, how does it operate, its customization options and implementations, making a final comparison illustrating when is it more proper to use each one of the available collectors. Yet, presents JVM HotSpot 7 and its new collector, its overall operation and customization options.

When is the subject useful

The subject is very relevant to any Java developer, even though the consequences of a badly configured Garbage Collection process won’t be much evident in development environments, certainly will make the difference in production environments. It is important to understand the reasons that cause unexpected behavior in the Garbage Collection when operated by multiple processors and big data.

Design Patterns, enjoy moderately [pt]

In October, 2011 I published an article (in Portuguese) features as the cover of Java Magazine #98, about principles, discussions and reflections about using designing patterns, in order to help the reader to develop critical sense about them. This way, the reader can extract knowledge from himself in order to apply design patterns moderately.

Article Design Patterns, enjoy moderately - DevMedia


The article presents reflections about using design patterns, and shows some common causes for their misuse, besides some bad implementation examples. Next, introduces the GRASP principles and its relation with the design patterns, in order to guide the developer to use them adequately. Lastly, raises some questions to evaluate the implementation of a design pattern and considerations for the reader to develop critical sense.

When is the subject useful

The subject is useful for alerting the developer about the proper use of design patterns, which are solutions for certain problems, but could be problems for certain solutions. It is important to the developer know how to judge the usage of a design pattern in a particular context, evaluating its applicability and consequences, aiming for a optimal solution.