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 ....



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 »

User Story Guidelines

Disclaimer: This post was extracted from an internal Codurance document used to help our apprentices to learn how we work. We all understand that each project is different and that by no means we can apply exactly the same techniques and practices everywhere. However, the text below serves not only as a foundation but also as a guideline for all ...

Read More »

Creating Fakes in Go with Channels

Fakes are a common testing technique that involve creating a bare implementation of an interface that you can use in testing. They usually allow you to check how they were used so you can ensure the behavior of the object under test. Normally, fakes have storage and retrieval methods, but in this post we’re going to explore using Go’s channels ...

Read More »

Displaying Paths in Ant

In the blog posts Java and Ant Properties Refresher and Ant <echoproperties /> Task, I wrote about how being able to see how properties are seen by an Ant build can be helpful in understanding that build better. It is often the case that it’d also be valuable to see various paths used in the build as the build sees ...

Read More »

NFC Android: Read NDEF Tag

In this post we want to describe how to read NFC tag. Android SDK provides a set of API that can be used to read the NFC payload, anyway if we look at the NFC spec we can notice there are several type of payload depending on the type of the tag. Android SDK doesn’t provide any support to parse ...

Read More »

There will be failures – On systems that live through difficulties instead of turning them into a catastrophy

Our systems always depend on other systems and services and thus may and will be subject to failures – network glitches, dropped connections, load spikes, deadlocks, slow or crashed subsystems. We will explore how to create robust systems that can sustain blows from its users, interconnecting networks, and supposedly allied systems yet carry on as well as possible, recovering quickly ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns