-
Software Development
Implementing the ‘Git flow’
Git can be used in a variety of ways which is cool. But still, when working within a team, it…
Read More » -
Core Java
Objects Should Be Immutable
In object-oriented programming, an object is immutable if its state can’t be modified after it is created. In Java, a…
Read More » -
Core Java
JUnit in a Nutshell: Test Runners
The fourth chapter of my multi-part tutorial about JUnit testing essentials explains the purpose of the tool’s exchangable test runners…
Read More » -
Software Development
How much do you pay per line of code?
Yes, I know, “line of code” (LoC) is a very wrong metric. There are tons of articles written about it,…
Read More » -
Core Java
Java Concurrency Tutorial – Locking: Intrinsic locks
In previous posts we reviewed some of the main risks of sharing data between different threads (like atomicity and visibility)…
Read More » -
Core Java
jUnit: Rules
Rules add special handling around tests, test cases or test suites. They can do additional validations common for all tests…
Read More » -
Enterprise Java
EJB 3.x : Lifecycle and Concurrency models (part 2)
This is the second post of the two part series. The first part covered the life cycle and the concurrency behavior…
Read More » -
Core Java
Why you should control Visibility of Class and Interface in Java
One of the important aspects of software development is maintenance, and it’s proven by experience that a piece of software…
Read More » -
Enterprise Java
OptaPlanner – Vehicle routing with real road distances
In the real world, vehicles in a Vehicle Routing Problem (VRP) have to follow the roads: they can’t travel in…
Read More »