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



Lazy evaluation


Recently i was writing log4j appender and wanted to use logger in it to log some diagnostic details during custom appender creation, but log4j initialization completes only after appender instance are created, so message logged during this phase are ignored. I felt the need for lazy initialization in custom appender and started to look at options. In this blog i will ...

Read More »

Communicating Design


Software design is crucial. It is the foundation of an application. Much like a blueprint, it provides a common platform for parties from all backgrounds. It facilitates understanding, collaboration, and development. Design should not be considered only an element of development. It should not live solely in developers’ minds, otherwise teams will find it near to impossible to grow, as ...

Read More »

Apache Spark Packages, from XML to JSON


The Apache Spark community has put a lot of effort into extending Spark. Recently, we wanted to transform an XML dataset into something that was easier to query. We were mainly interested in doing data exploration on top of the billions of transactions that we get every day. XML is a well-known format, but sometimes it can be complicated to ...

Read More »

So, Oracle killed


Well, not yet…but they announced to shutdown and kenai by May 2017. I have been interviewed about this for an ADTmag article The ‘Sunsetting’ of Kenai and by John K. Waters. As Oracle provided little information to what will happen to critical projects that are already hosted on, most of what was written in the article is ...

Read More »

The Java Syncrhonisers


Threads communication happens primarily by sharing access to fields and objects. Although extremely efficient, this form of communication is prone to errors such as thread interference and memory consistency. Synchronization is a tool that helps to prevent such errors. However, synchronization does not come for free and can introduce latency when accessing a lock or object that is currently being ...

Read More »

A Beginner’s Guide to the Dockerfile


The humble but powerful Dockerfile is the building block of Docker images and containers. In essence, it’s a list of commands the Docker engine runs to assemble the image, and thus instances of images as containers. Let’s look at an example before learning to construct our own. This is the Dockerfile for RethinkDB, a popular open-source, real-time database. dockerfile FROM ...

Read More »

Building a compiler for your own language: from the parse tree to the Abstract Syntax Tree


In this post we are going to see how process and transform the information obtained from the parser. The ANTLR parser recognizes the elements present in the source code and build a parse tree. From the parse tree we will obtain the Abstract Syntax Tree which we will use to perform validation and produce compiled code. Note that the terminology can vary: ...

Read More »

Reducing Your Docker Image Size


When architecting Docker applications, keeping your images as lightweight as possible has a lot of practical benefits. It makes things faster, more portable, and less prone to breaks. Lightweight images also make it easier to use services like Jet, Codeship’s Docker CI/CD platform; they’re less likely to present complex problems that are hard to troubleshoot, and it takes less time ...

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