Analyzing a Multi-Module Maven Project with SonarQube

SonarQube Setup Start by downloading SonarQube from the official website. Unzip and navigate to the bin directory, you should see multiple folders linux-x86-32 linux-x86-64 macosx-universal-64 windows-x86-32 windows-x86-64 Navigate into the folder depending on your current operating system, i.e. linux-x86-64. Execute the sonar.sh script. Sonar should now startup. After a few seconds, you can navigate to…

Writing/Reading Java Properties Files without external dependencies

In this short tutorial we focus on writing/reading Java Properties files without external dependencies. Quoting Wikipedia: .properties is a file extension for files mainly used in Java related technologies to store the configurable parameters of an application. They can also be used for storing strings for Internationalization and localization; these are known as Property Resource…

XRebel Java Profiler: The lightweight Java Profiler

The XRebel Java Profiler ist a lightweight Java Profiler frmo zeroturnaround, the makers of JRebel and also the Optimizer for Eclipse Plugin (Speeding up Eclipse). To include the profiler in your web application, a single VM argument needs to be passed and a little icon will be displayed at the bottom left of every page.…

Optimistic vs Pessimistic Locking and Transactions

What are transactions and why do we need them? The classic, relational database systems, such as MySQL, Postgres come with ACID (Atomicity, Consistency, Isolation, Durability). We start a transaction, execute our database changes and commit. If a single action fails, the transaction will be rolled back and no change is applied. Only if every change…

Java 8 Lambda Tutorial: Beginning with Lambda and Streams

Java 8 introduced Lambas (or Closures). The Iterable and the Collection interface received some new methods. The API allows a functional programming approach – which was barely possible before. In this Java 8 Lambda Tutorial, I want to introduce you to the new functionality with pratical examples. Before Java 8, filtering a list of persons…

Java 8 Date Time API: Jodatime based date and time functions

Java 8 contains a brand new Joda-time inspired Date Time API within the java.time package. About time! The following image offers an overview of the API’s structure.   LocalDate Let’s have a look at java.time.LocalDate first. A LocalDate represents a single Date in a specific year, month and date, no time. If you also need…