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



Still Using Windows 3.1? So why stick to SQL-92?


We’ve been blogging a lot about the merits of modern SQL on the jOOQ blog. Specifically, window functions are one of the most fascinating features. But there are many many others. Markus Winand, author of the popular book SQL Performance Explained has recently given a very well-researched talk about modern SQL. We particularly like his headline:         ...

Read More »

Maven Tip: All about executable jars


Maven Tip: All about executable jars An executable jar is an extremely useful artefact when it comes to distributing your code.  It means that, as long as Java is installed on the client machine, on Windows and Mac at least, your users can just double click the jar and program will launch. Alternatively on the command line the program can ...

Read More »

EE JSP: Generating Dynamic Content with Custom Tag Libraries


When developing View layer in a web application, you want to try not to duplicate content in JSP files as much as possible. The JSP spec API allows you to reduce this duplication by using tag libraries. A custom JSP tag is a user defined xml tag element that you can insert into JSP file to replace with some dynamic ...

Read More »

ReactiveMongo: Work with array


I’ve been working with ReactiveMongo during 6 months. It’s pretty nice realisation of MongoDB driver for Scala. I just have one remark – it has not so good documentation as it should be. Especially bad documentation have MongoDB operators. Fortunately original MongoDB documentation fix this circumstance. So in this tutorial I want to demonstrate how you can deal with JSON ...

Read More »

Setting up sharded mongodb cluster in localhost


I have been playing around with MongoDb, thanks to the M101J Course offered by Mongodb University. These NoSQL datastores are gaining popularity due to a number of reasons and one among them being the ease with which they can be scaled out i.e horizontal scaling. This horizontal scaling in MongoDB can be achieved by creating a sharded cluster of mongodb ...

Read More »

The New Agile – But Does It Scale?


If business analysis is where we come up with ideas, then product development process is the factory that makes the vision real. What did we take from agile and how is it different today from 15 years ago? The magic word of today is SCALE. And the king of Scale is SAFe. I’ve already written before why I didn’t like ...

Read More »

Top 5 Use-Cases For Nested Types


There has been an interesting discussion on reddit, the other day Static Inner Classes. When is it too much? First, let’s review a little bit of basic historic Java knowledge. Java-the-language offers four levels of nesting classes, and by “Java-the-language”, I mean that these constructs are mere “syntax sugar”. They don’t exist in the JVM, which only knows ordinary classes. ...

Read More »

Functional Factory Pattern


Do you want a REALLY quick way to make a Factory object? Then lambdas or other function-passing is what you need! Not only is it quick, it’s really simple. I bet, if you’re a pretty good with Lambdas, you have a pretty good idea on how to do this simply by having read the title. If you’re one of those, ...

Read More »

Spring Environment is for initialization code only


Since version 3.1, the Spring framework offers an abstraction towards several different sources through which you can easily configure your application: the Environment. In this post I describe a micro benchmark that I ran to prove that, while it’s a convenient API if you’re using Spring in your application, it might introduce a performance penalty for which you should not ...

Read More »

Java8 Multi-threading ForkJoinPool: Dealing with exceptions


One of the main motivations behind the introduction of Java8 lambdas was the ability to be able to use multicores as easily as possible (see Mastering Lambdas: Java Programming in a Multicore World).  By simply changing your code from to collection.parallelStream()... you have instant multi-threading at your disposal which brings with it all the CPU power on your machine. ...

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