Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!


1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions


and many more ....



Automatic promotion of artifacts to Maven Central from Gradle

Quick tutorial how to promote/release artifacts in a Gradle project to Maven Central, without clicking in the Nexus GUI with Gradle Nexus Staging Plugin. Introduction Maven Central (aka The Central Repository) is (probably) the world’s largest set of open source artifacts used by Java and JVM-based projects. It was founded by the creators of Apache Maven and it has been ...

Read More »

Avoid Perpetuating These Things In Your Code

At some point in your career you will find yourself leaving the project you’re on and heading to new challenges (for better or for worse). Whether that is you taking another role with a different company or team, or if it’s the company you’re with outsourcing that project to other teams or even to another country. Regardless of the reason, ...

Read More »

jOOQ vs. Hibernate: When to Choose Which

Hibernate has become a de-facto standard in the Java ecosystem, and after the fact, also an actual JavaEE standard implementation if standards matter to you, and if you put the JCP on the same level with ISO, ANSI, IEEE, etc. This article does not intended to discuss standards, but visions. Hibernate shares JPA’s vision of ORM. jOOQ shares SQL’s vision ...

Read More »

Creating a MongoDB Capped Collection in Java

In MongoDB, it’s possible to preserve the insertion order of documents into a collection in a circular fashion. These types of collections are called Capped Collections in MongoDB. The MongoDB documentation describes Capped Collections: “Capped collections are fixed-size collections that support high-throughput operations that insert, retrieve, and delete documents based on insertion order. Capped collections work in a way similar ...

Read More »

Enumerating @NamedQuery within @NamedQueries


Introduction If you’re a Java developer using JPA, chances are that you’ve declared one or more @NamedQuery objects on your entities. To declare a @NamedQuery on a class, the class must simply be annotated with the name of the query and its JPQL, such as: @Entity @NamedQuery(name = "findAllProjects", query = "select p from Project p order by") public ...

Read More »

A Non-Blocking Benchmark

A couple of weeks ago I asked the question “Why non-blocking?”. And I didn’t reach a definitive answer, although it seemed that writing non-blocking code is not the better option – it’s not supposed to be faster or have higher throughput, even though conventional wisdom says it should. So, leaving behind the theoretical questions, I decided to do a benchmark. ...

Read More »

Functional Interfaces

Table Of Contents 1. Introduction 2. Justification 3. Lambda Expressions 4. Predicate<T> 5. BiPredicate<T,U> 6. Function<T,R> 7. BiFunction<T,U,R> 8. Consumer<T> 9. BiConsumer<T,U> 10. Supplier<T> 11. UnaryOperator<T> 12. BinaryOperator<T> 1. Introduction Functional interfaces are a powerful mechanism provided by Java 8 to give us the possibility to pass functions as parameters to other methods. Actually, this option already existed on previous ...

Read More »

Testing Interface Invariants

Today’s article is something a little special. It’s the first article where I use code from my current personal project for examples. You will be getting “real world” examples and not silly, made-up examples like my Scientist and Pen example in my factories article. My Project Because of this, I’m going to make a quick introduction to what the project ...

Read More »

Making Refactoring Work

A recent academic study raises some questions about how useful and how important refactoring really is. The researchers found that refactoring didn’t seem to make code measurably easier to understand or change, or even measurably cleaner (measured by cyclomatic complexity, depth of inheritance, class coupling or lines of code). But as other people have discussed, this study is deeply flawed. ...

Read More »