The Garbage Collector (GC) is an integral part of every Java Virtual Machine (JVM) – running in the Cloud, on a dedicated server or on your desktop/laptop. Are you aware of what impact a GC has on an application – on its performance, resource consumption and finally on its operational cost? Which GC will allow you to maximize the performance and minimize the cost of a running Java application? This article provides a complete answer to the above questions.
What is a Garbage Collector?
As explained in Introduction to Garbage Collection Tuning:
The garbage collector (GC) automatically manages the application’s dynamic memory allocation requests. A garbage collector performs automatic dynamic memory management through the following operations:
- Allocates from and gives back memory to the operating system.
- Hands out that memory to the application as it requests it.
- Determines which parts of that memory is still in use by the application.
- Reclaims the unused memory for reuse by the application.
Considered Java Virtual Machines and Garbage Collectors
In this article I consider the following Java distributions, Virtual Machines and Garbage Collectors:
JUnit ist ein wichtiges Framework zum Testen von Java-Code. Mittlerweile hat es sich verändert und wurde stark verbessert. In diesem Blog-Post möchte ich die Anwendung von Timeouts in JUnit 4 und 5 beschreiben.
Hadoop MapReduce is a software framework used for distributed processing of large data sets on compute clusters.
According to The Apache Software Foundation, the objective of Map/Reduce is to split the input data set into independent chunks that are processed completely in parallel. The Hadoop MapReduce framework sorts the outputs of the maps, which are then input to the reduce phase. Normally both the input and the output of the job is stored in a file system.
In this blog post I will show you how to write a Map/Reduce word count program step by step in order to understand what is happening in every phase and line of code.
And now let’s GET some info booster POSTED in the spirit of the winter holidays …
This article shows you how to use the new Java 11
HtppClient API to send HTTP
GET/POST requests using two very common examples.
HttpClient provides synchronous and asynchronous request mechanisms:
send(HttpRequest, BodyHandler) blocks until the request has been sent and the response has been received.
sendAsync(HttpRequest, BodyHandler) sends the request and receives the response asynchronously.
In this article, I will focus on the synchronous GET request.
When you use Docker and you have to handle many different containers, their management is complicated. You need to manage the configuration and the functioning of each container separately. When you need to use your containers in a specific environment, you’ll set a specific configuration for each of your containers. Docker Compose promises to solve this problem.
“First do it, then do it right, then do it better.“ (Addy Osmani)
Spring Boot 2.2 has recently been released and comes out with a range of new features. Among the dependency upgrades for quite a large number of Spring projects, some more changes in Spring Boot 2.2 are as follows:
- Support for Java 13
- JUnit 5
- Jakarta EE dependencies
- Lazy initialization
- RSocket support
- Hibernate dialect
- Kubernetes detection
- And others like: Health indicator groups, AssertJ 3.12, Spring HATEOAS 1.0, DataSize migration, Elasticsearch, Actuator HTTP Trace and Auditing, Gradle requirements, Jetty logging configuration, Hamcrest 2.1, Freemarker templates configuration, HttpHiddenMethodFilter disabled by default, Health Indicator, Test Application Arguments, Banners …
I decided not to describe every feature in detail but to focus on the changes I found to be the most interesting.
JUnit ist ein wichtiges Unit-Test-Framework für die Java Programmiersprache. JUnit ermöglicht das Testen der Ausnahmebehandlung von Code. Es kann also getestet werden, ob der Code eine gewünschte Exception auslöst oder nicht. Es gibt viele Möglichkeiten, mit Ausnahmen umzugehen. Hier werden drei der verbreitetsten Methoden in Junit 4 erläutert und mit den Methoden von Junit 5 verglichen.