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


Oracle GlassFish, or Why You Should Think About Open Source Again


Oracle’s recent announcement about the discontinuation of commercial services for JEE’s reference implementation GlassFish has caused many reactions in the community involved with JEE. The reactions reach from: Markus Eisele’s rather pessimistic outlook on JEE’s future in general Adam Bien’s constructive (or cynical? With Adam Bien, you can never be sure) suggestions of moving GlassFish over to GitHub Tomitribe’s pragmatic ...

Read More »

Ceylon 1.0.0 is now available


Today, we’re proud to announce the first production release of the Ceylon language specification, compiler, and IDE. Ceylon 1.0 is a modern, modular, statically typed programming language for the Java and JavaScript virtual machines. Ceylon enables the development of cross-platform modules that execute portably in both virtual machine environments. Alternatively, a Ceylon module may target one or the other platform, ...

Read More »

Why we shouldn’t use more threads than we need to


Overview There is a common argument that because we have lots of cores, and will have even more in the future we have to use them.  We just we need to find the best ways to use them but just because we can doesn’t mean we should. What is our goal? Good reasons to use multiple threads are   the ...

Read More »

Lambdas for Fluent and Stable APIs


A few weeks ago I wrote an introduction on Java 8 lambdas. In this introduction I explained what a lambda is and how to use them in conjunction with the new Stream API, that is also introduced in Java 8. The Stream API provides a more functional interface to collections. This interface heavily depends on lambdas. But there’s much more ...

Read More »

ID Lists Aren’t the Best Solution for the N+1 Problem


In their eternal attempts to circumvent the N+1 problem, Hibernate users often resort to IN predicates with ID lists. In this post, we’ll see how those users might just be replacing a horrible thing with a bad one, which is better but not yet good. Here’s why: The N+1 Problem The N+1 problem is a well understood issue, documented in ...

Read More »

Customization in Saas using Plug and Play Architecture


There exists a lot of design patterns, architectures and design concepts that can be applied to technical aspects of implementing a product. For eg., we have MVC architecture that isolates the view, controller and model of the application. We have a factory pattern that defines how to create objects and so on. Yet, these all limit themselves to the technical ...

Read More »

Throttling Task Submission with a BlockingExecutor


The JDK’s java.util.concurrent.ThreadPoolExecutor allows you to submit tasks to a thread pool and uses a BlockingQueue to hold submitted tasks. If you have thousands of tasks to submit, you specify a “bounded” queue (i.e. one with a maximum capacity) otherwise your JVM may run out of memory. You can set a RejectedExecutionHandler to handle what happens when the queue is ...

Read More »

Cloud based deployment pipeline


Cloud based development tools are continuing to improve thanks to the power of new browser technologies and cloud services such as github and Amazon Web Services. The full deployment life-cycle can now be based entirely in the cloud by using various SaaS and PaaS offerings. As each service offered is provided by a different entity the challenge is to integrated ...

Read More »

Multi-tier application + database deadlock or why databases aren’t queues (part1)


Databases aren’t queues. And despite the ubiquitous presence of queuing technology out there (ActiveMQ, MSMQ, MSSQL Service Broker, Oracle Advanced Queuing) there are plenty of times when we ask our relational brethren to pretend to be queues.  This is the story of one such folly, and along the way, we’ll delve into some interesting sub-plots of deadlocks, lock escalation, execution ...

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.