Parallel Streams!!

I am always skeptical of using parallel streams in Java8. For simple reason: You do not have control to decide the pool responsible for executing tasks. By default, common ForkJoinPool executes it. So in short when you do: The common pool executes it. And you…

Asynchronous Distributed Key-Value DB

I have developed a simple-beta version of an synchronous distributed key-value database. It is simple and quite robust and I plan to make it not so-simple and open to other languages (apart from JVM based ones) in the future :). You can download it and start…

Issues with Java 7 on Mac OS

At my work place, I was involved in building a desktop application for Mac (priority) & Windows (lesser priority). So for about 5 months, I did all my development work on Mac and now I think I have a good feel of the OS. So…

Continuation….

This post is in continuation to the previous post – Co-variance and Contra-variance Arrays in Java are Co-variant. Which basically means if “String” extends “Object” then “String[]” also extends “Object[]”. Do you see  any pitfall’s above?? Lets look at the following example Example – 1…

Graph Library

Well I do know that there are some amazing Open Source Graph Libraries out there, but during the course of the last semester I happened to make one for myself. It so happened that for quite some time now I have learning a lot about…

finalize()

Several people in recent past have asked me the functionality and need of finalize() method in Java, hence the post : BEWARE: Frankly finalize() is something that you should avoid using. The disadvantages and risk it carries are far more than the need of it….

Synchronized block performs 100x faster than Unsynchronized one

Like everyone, in the books and blogs, I have heard a lot about how expensive high context switches can be till I personally experienced it recently. The below part is again quite interesting because synchronized code performs must faster than the unsynchronized code (120 times…