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



flatMap() and the order of events – RxJava FAQ

As we already discovered, flatMap() does not preserve the order of original stream. Let’s illustrate this using the GeoNames API example from previous article: public interface GeoNames { Flowable<Long> populationOf(String city); } By requesting population of multiple cities using flatMap() we have no guarantee that they will arrive in order: Flowable<String> cities = Flowable.just("Warsaw", "Paris", "London", "Madrid"); cities .flatMap(geoNames::populationOf) .subscribe(response ->"Population: {}", response)); The output is ...

Read More »

Application Network Functions With ESBs, API Management, and Now.. Service Mesh?


I’ve talked quite a bit recently about the evolution of microservices patterns and how service proxies like Envoy from Lyft can help push the responsibility of resilience, service discovery, routing, metrics collection, etc down a layer below the application. Otherwise we risk hoping and praying that the various applications will correctly implement these critical functionalities or depend on language-specific libraries ...

Read More »

Java Command-Line Interfaces (Part 10): picocli

The main picocli page describes picocli as “a mighty tiny command line interface” that “is a one-file Java framework for parsing command line arguments and generating polished, easily tailored usage help messages. With colors.” This post provides a brief overview of applying Picocli 0.9.7 to process command line arguments in Java code. Like the other Java-based command line processing libraries ...

Read More »

RAII in Java

Resource Acquisition Is Initialization (RAII) is a design idea introduced in C++ by Bjarne Stroustrup for exception-safe resource management. Thanks to garbage collection Java doesn’t have this feature, but we can implement something similar, using try-with-resources.               The problem RAII is solving is obvious; have a look at this code (I’m sure you know ...

Read More »

[MEGA DEAL] The Immersive Angular 2 Bundle (88% off)

Separate Yourself From the Developer Pack with 44 Intensive Hours on the Web’s Most Exciting New Framework Hey fellow geeks, This week, on our JCG Deals store, we have another extreme offer. We are offering a massive 88% off on The Immersive Angular 2 Bundle. Get it now with only $41, instead of the original price of $349. Angular 2 ...

Read More »

flatMap() vs. concatMap() vs. concatMapEager() – RxJava FAQ


There are three, seamlessly similar operators in RxJava 2.x: flatMap(), concatMap() and concatMapEager(). All of them accept the same argument – a function from original stream’s individual item to a (sub-)stream of arbitrary type. In other words if you have a Flowable<T> you provide a function from T to Flowable<R> for arbitrary R type. After applying any of these operators you end up with Flowable<R>. So how are they different? Sample project First ...

Read More »

Eclipse Projects: Level Playing Field

For many open source organisations, open means the same thing as transparent: open as in open book. At the Eclipse Foundation, we regard being transparent as the practice of making sure that the community can see and understand what the project is doing; and being open as the act of giving up absolute control and welcoming the community to participate ...

Read More »

You’re Doing It Wrong: Deadlines

We know that deadlines drive behavior. That’s why in scrum, and other agile methodologies, we timebox the development with those deadlines. They tell us: Focus on the important stuff, and make sure it’s done properly. Since they are good in essence, let’s see how we muck them up. Here’s the process. We prepare for the sprint, splitting stories, asking for ...

Read More »