java.lang.IllegalMonitorStateException form Object’s notify/wait methods indicates basic synchronization issue. In this post we’ll show the reason and how to fix it!
Single Responsibility Principle (SRP) is the most important of SOLID software design principles. In this post we explain it and show how to apply!
In this post we’re going to implement calculation of Greatest Common Divisor GCD in Clojure using Euclidean algorithm for two and more numbers.
In this post we show how to implement GCD in Java using Euclidean Algorithm. GCD is known as Greatest Common Divisor/Factor/Measure, Highest Common Divisor/Factor.
We show how to remove duplicates from List in Java. Choose implementation depending on circumstances and with expected performance.
Clojure transients is a great way to optimize performance sensitive code without leaving familiar Clojure world. In this post we show how to use them to boost performance.
Until Java 7 there was no simple and effective way to generate random numbers concurrently. Here we show ThreadLocalRandom to generate random numbers in a thread-safe way.
Insertion sort in Clojure can be implemented in different ways. In this post we compare implementations with and without Clojure transients.
Quicksort is one of the fastest sorting algorithms. In this article we implement Quicksort in Java, describe how it works and its properties.
Graphs are fundamental data structure that help to solve many algorithmic problems. In this post we show different graph representations and their properties.