Photo by amirali mirhashemian on Unsplash

Java is a multi-threaded language. Since the beginning of the language it had first class support of multiple threads for our concurrency needs. After that with every release of Java the multi-thread model has been simpler and more accessible to users. From , in Java 5 to , framework etc in Java 8. Also powerful third-party frameworks like evolved in the wild.

Though these abstractions make concurrency more available to the average user, one still should learn about the nuts and bolts of the language (and JVM). …


Photo by Clark Van Der Beken on Unsplash

Java EE along with Spring has become the de-facto standard of enterprise-grade java applications, especially web apps. But this article does not talk about Java EE or Spring, but the layers of a standard application.

In this article, I am going to challenge how most people design their applications, from the down to layer. However, my primary target will be the service layer, as I often see this layer to be abused the most.

To make it more interesting and relatable I will be going with an example problem. First I will show you a traditional design and…


Photo by Gaelle Marcel on Unsplash

What is java 11 certification?

Java 11 was launched in September 2018 and along with came the new certification program. Gone are the days of OCA/OCP certifications, there was now only Java SE 11 Developer or Java 11 Application Programmer. Two exams 1Z0–815 and 1Z0–816 to be taken (in any order) for the title. In September 2020 Oracle merged the exams and created 1Z0–819.

My story

I prepared for the 1Z0–815 exam but many people will have a similar experience if you are taking the latest and greatest certification programs. …


Photo by Agê Barros on Unsplash

If you have worked on an application that works with external services like Database, MQ, Web APIs, etc, or even interacted with the file system on a larger scale, you are probably aware of how IO, especially over the network, slows operations down.

There is nothing wrong with IO. But IO-bound operations are generally drastically slower than CPU bound operations. We measure CPU operations in microseconds while IO operations are generally measured in milliseconds.

This slowness is not noticeable on a small scale when a handful of IO calls are made. But in an enterprise-grade application might need to process…

Rahul Saha

A passionate software engineer from Kolkata, India. Also a linux enthusiast, photographer and accidental drawing artist.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store