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


How to create and destroy objects


This article is part of our Academy Course titled Advanced Java. This course is designed to help you make the most effective use of Java. It discusses advanced topics, including object creation, concurrency, serialization, reflection and many more. It will guide you through your journey to Java mastery! Check it out here! Table Of Contents 1. Introduction 2. Instance Construction ...

Read More »

Advanced Java Tutorial


Course Overview Learning the basics of Java is easy. But really delving into the language and studying its more advanced concepts and nuances is what will make you a great Java developer. The web is abundant with “soft”, “cheap”, “low end” Java tutorials, but what it is missing is material to really take you to the next level. This course ...

Read More »

Comparing Imperative and Functional Algorithms in Java 8


Mario Fusco’s popular tweet impressively shows what the main difference between imperative and functional approaches to similar algorithms really is: Imperative vs. Functional – Separation of Concerns — Mario Fusco (@mariofusco) March 1, 2015 Both algorithms do the same thing, they’re probably equally fast and reasonable. Yet, one of the algorithms is much easier to write and read than ...

Read More »

Resource Efficiency vs. Flow Efficiency, Part 2: Effect on People


If you haven’t read Resource Efficiency vs. Flow Efficiency, Part 1: Seeing the System,  I explain there about optimizing for a given person’s work vs. optimizing for features. Some people (including managers) new to agile have questions about working in flow vs. optimizing for a person. The managers ask: How do I know the work won’t take longer if we ...

Read More »

Pluggable persistence in Activiti 6


In the past years, we’ve often heard the request (both from community and our customers) on how to swap the persistence logic of Activiti from relational database to something else. When we announced Activiti 6, one of the promises we made was that we would make exactly this possible. People that have dived into the code of the Activiti engine will ...

Read More »

AssertJ’s SoftAssertions – do we need them?


One of the rules of writing good unit test is that it should fail for one reason, so unit test should test one logical concept. Sometime it is quite tough to have a single assertion per test. To follow the rule, we may have having multiple assertions per object in a single test. The problem with multiple assertions in a ...

Read More »

Battle of the structures


Figure 1 shows a spoiklin class diagram of a well-structured package.                     It is well-structured because it makes dependency-tracing relatively easy. If we choose a class randomly – say ReusableStringReader – we can easily spot dependencies on that class and hence estimate the potential cost of changes made to that class, ...

Read More »

Test Double Patterns


Some time ago I wrote an article about the consequences of using Test Double, but there was nothing about Test Double Patterns, nothing more than a simple list. Today I would like to change it and explain the differences between those patterns. As I wrote in mentioned article that: Test Double are patterns that allow us to control dependencies between ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.