Blog

The latest expert opinions, articles, and guides for the Java professional.

XRebel 3.0.1 Released: asynchronous HTTP client support, improvements for MongoDB and DataStax drivers

A few weeks ago we released XRebel 3.0 and now 3.0.1 comes with a few improvements for database drivers and HTTP client.

Read more

Devoxx4Kids, Squishy Circuits: Mixing Science & Art for Young Kids

Virtual JUG — the online Java User Group that brings you the best technical sessions from all over the world. This year, we at RebelLabs continue to provide you with short recaps of sessions, including what we learned, giving you a chance to know a bit more about the speakers in a short interview with them after they have presented their session.

This time we changed it up a bit with our presenter. Pavi Bhatter is high school student in the San Francisco area, interested in math, physics, psychology and playing the drums. You can learn more about her from her website: pavibhatter.wordpress.com.

Pavi got into technology mostly through family, her dad is an engineer, but one of the main moving powers that helped Pavi was Devoxx4Kids, the organization that tries to attract children into technology and help explain the basics of programming and software engineering.

Devoxx4Kids helped quite a bit. Pavi started from a small workshop at a local school, and from there it grew into an incredibly entertaining workshop. In fact, conferences like OSCON and JavaOne invite Pavi to present her session.

Read more

Why Spring is Winning the Java Microservices Game

Spring by Pivotal logo

This time we focus on the Spring framework. For a long time, the Spring framework was the de-facto framework choice for web applications. It was created in response to heavy Java application servers of the past, and introduced a much more lightweight approach to creating web applications. The main principle of Spring that made it so popular was the dependency injection, which was added very early on. Of course, now we take dependency injection for granted and don’t even think about how revolutionary the idea was: you declare your component and the relationship between them and the framework takes care of the lifecycle of your components and wires them together into a useful graph of objects.

Nowadays, Spring has established its own ecosystem. There are tons of smaller web frameworks that have been created. Some actually quite good, some just optimized for the hello world scenario. But Spring hasn’t budged. So let’s see which qualities of the Spring framework make it an excellent choice for the microservices architecture.

Read more

Making Gradle builds faster

Last time when we talked about build systems, we looked at some tips that might make your Maven build faster. The results we got were fascinating and the response was overwhelming. Most people were pretty happy with the speedup that they achieved on their projects from the tips we gave. Today, we’re going to look at what can be done with Gradle builds. The builds of most projects are quite standard, but yet they are unique. Almost all projects add their own complexity into the build. And while they are all different, one thing is common: builds can take up your precious time and speeding it up can affect the developer productivity which makes working on your project more pleasant.

Without further ado, let’s see what Gradle, with its “Realize Build Happiness” motto, is packing in its speed department.

Read more

XRebel 3.0: introducing microservices profiling

Great news everyone! Today we are announcing the release of XRebel 3.0!

3.0 is here and it is a great new milestone for XRebel. The new version features something very exciting: end-to-end transaction profiling. You can now profile distributed Java applications and microservices with XRebel Agents!

Download XRebel 3.0

Read more

Developer Productivity Survey 2016: Java Tools and Technologies — Supporting Devoxx4Kids

Modern Web Apps with HTML5 Web Components, Polymer, and Java EE MVC 1.0 by Kito Mann

Virtual JUG — the online Java User Group that brings you the best technical sessions from all over the world. This year, we at RebelLabs continue to provide you with short recaps of sessions, including what we learned, giving you a chance to know a bit more about the speakers in a short interview with them after they have presented their session.

Previously we observed Venkat’s second time on Virtual JUG when he spoke about Java 8 streams. This time it was all about modern web applications: HTML 5, web components, Polymer framework and the upcoming Java EE MVC 1.0 standard.

Read more

Java Streams cheat sheet

Towards the end of 2015, we released our cheat sheet for Java 8 best practices, which got thousands upon thousands of hits and downloads! So we thought, we should create another one, and we did just that. This time around, based on your survey feedback, we focus on one of the most important and substantial features in the Java 8 release, the Streams API. You should click on the cheat sheet below and print it out. It will look amazing next to the Java 8 cheat sheet!

In this post we’ll look into the essential information about Java 8 streams and how you should think about them, and how you should use them.

Read more

FixedThreadPool, CachedThreadPool, or ForkJoinPool? Picking correct Java executors for background tasks

One of the biggest advantages Java has over other platforms is that it is spectacularly good at utilizing resources for parallel computations. Indeed, on the JVM it’s ridiculously easy to execute a piece of code in the background and consume the result of that computation when it is ready and when we actually need it. At the same time this allows the developer to make better use of all that computational power modern hardware has to offer.

However, it’s not that straightforward to make the computation correct, and perhaps the most challenging task for the developer is to create programs that are always correct, rather than the familiar “works on my machine” correct.

In this post we’ll look at the different options available to find the Executor that suits your needs.

Read more

Streams: The Real Powerhouse in Java 8 by Venkat Subramaniam

Venkat Subramaniam

Welcome to the new year of wonderful online presentations about software engineering, Java, best practices, tools and technology choices. All that is naturally the Virtual JUG — the online Java User Group that brings you the best technical sessions from all over the world.

The first session in 2016 was a real treat! None other than the man himself, Dr. Venkat Subramaniam, delivered a fast-paced, astonishing presentation: Streams: The Real Powerhouse in Java 8. This was Venkat’s second time on Virtual JUG, the first time he spoke about creating reactive applications.

This session was, however, all about Java 8 streams. What do they represent, what are the common code patterns around streams and how to get the most of them in your codebase?

Read more