Hash code is the crucial thing in hash-based algorithms like those used in hash maps and all problems come from that simple fact. Its efficiency is as important as the efficiency of the hashing algorithm itself. Let's talk about those problems and how to solve them. Why hash code can cause a problem? The main… Continue reading Hash Code – Problems
Welcome back to Hash Code miniserie where you can read how the hash codes (non-cryptographic hashing algorithms) and hash collections work in different programming languages. This time let's take a look under the hood of Java's collections and Strings. How hash codes are generated for them? Let's check it out. Arrays Arrays in Java do… Continue reading Hash Code – Java's collections
Introduction to Java Agents. Theory & practice.
Welcome to the first article of the Hash Code miniserie where you can read how the hash codes (non-cryptographic hashing algorithms) and hash collections work in different programming languages. Every software engineer uses hash collections like Python's dictionary, Java's hash map or C++'s unordered map. You get them to know pretty early in your learning… Continue reading Hash Code – Introduction
This post is a continuation of a series focused on monitoring & supervising untrusted JVM process that runs inside docker container provided by the third-party provider. In the first article I described how to share process namespace between containers, this article shows how to get a better understanding of the JVM process that we do… Continue reading Supervising JVM with Dynamic Attach and Golang
Is Kotlin just a beta version of Java and is it going to be superseded by Java and die? Or, is Java just trying to catch up from a better language but it will be never able to do this? Let's check what is going on there! From the birth of Kotlin to the present… Continue reading Is Kotlin Java++ or beta of Java?
Every time I want to do non-standard things in docker I struggle a lot. Usually doing something not obvious but not impossible requires lots of Googling, reading the documentation and digging into Github repositories. This time wasn't any different… Continue reading Sharing process namespace (PID) between containers managed by docker-compose
It’s not a secret that most of the blog post ideas are born while dealing with problems in production and this article isn’t an exception. Today, I would like to show you another tool that every non-junior developer should know. It’s a super useful tool from JVM world, still, a mystery for some of us… Continue reading Know your tools: jstack
Lombok is a Java library that generates boilerplate code for you during the compilation. You probably use it or at least heard how it can clean the code with annotations like @Data or @Value. So I am not going to write yet another article on how to use the most popular annotations. I am going… Continue reading How Lombok saved my ass
Debugging is such a critical skill. Part and parcel of daily work for most of us, engineers. I have been to multiple interviews and only during a handful of them, I was given the question “How would you debug the issue with…”, even though the job description clearly stated this skill as desirable. When conducting… Continue reading Know your tools: JVM heap profiler in action.