3 GC Techniques to Improve Application Performance

Automated garbage collection (along with the JIT HotSpot Compiler) is one of the most advanced and most valued components of the JVM, but many developers and engineers are far less familiar with Garbage Collection (GC), how it works and how it impacts application performance.

First, what is GC even for? Garbage collection is the memory management process for objects in the heap. As objects are allocated to the heap, they run through a few collection phases – usually rather quickly as the majority of objects in the heap have short lifespans.

How to Create a Development Environment on Alpine Linux

Alpine Linux has gained great popularity in recent years and is probably the most favored Linux for Docker. Originally designed for routers, it is a secure, fast, feather-light Linux: a basic Alpine base image takes as little as 5 MB, orders of magnitude less than other popular Linux distros. That fact makes it an ideal choice as the base system of Docker images, where small size is desirable, and specifically for OpenJDK Docker images that otherwise take up several hundred MBs.

In this post, I’ll cover my experience in setting up an Alpine Linux workstation for C++ and Java development, with some hopefully useful Alpine know-hows, tips and resources.

DevOps or SRE? Differences, Similarities and Which Role Should You Fill?

DevOps and SRE seem like two sides of the same coin. Both titles aim to bridge the gap between development and operation teams, with a unified goal of enhancing the release cycle without any compromises.

And indeed, in most companies, we can see that there’s a requirement for just one of these positions, with an overlap in responsibilities and abilities. Both titles co-exist in the same space, and both are an essential part of the development team; so how are they different, and what does each one mean? Let’s check it out.