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

Docker for Java Developers: How to sandbox your app in a clean environment

For us Java developers, Docker helps isolate our apps in a clean environment, so the unpredictability of “works on my machine” is a little less irritating. Isolation is important because it reduces the complexity of the software environment we’re using. Plus, to benefit from using Docker you don’t have to get into the world of containers and start deploying your application to thousands nodes. Just the isolation from your developer’s machine is a big plus.

Read more

Generics: Past, Present and Future by Richard Warburton & Raoul-Gabriel Urma

Java generics can be confusing

Generics in Java can often make you ponder the reason of life, why you even program and why you use Java as the platform of choice. In the recent Virtual JUG session Richard and Raoul explain why the signatures of Java generics often look like a crazy regex. They also discuss what developers actually want from generics.

Read more

Android: the Platform, the Framework, and the Way of Life

Get ready for another RebelLabs report — coming at you like a shot of caffeine, straight into the brain! More entertaining than Jar Jar Binks’ scriptwriter (OK, a lot more entertaining than that!), yet still as informative as an informant with extremely informative information.
This time around, we focus on Android, a market which many people have identified as the reason for Java’s ongoing popularity.

The report covers the following topics:

  • Android Devices and platform considerations for your application
  • Performance – how not to make your application crawl
  • Clean code patterns – dependency injection, clean architecture, parallelization models, and a reactive approach to creating applications
  • Good ways to approach and improve QA in your project
  • Tools and technologies that help developers the most: emulators, libraries, and much more

I hope you’re excited about reading it, now!

Read more

Three JPA 2.1 features that will boost your application’s performance

Developers often complain about the subpar performance of JPA. However if you take a closer look at the performance issues, quite often you will find similar root causes. These can include:

  • using too many SQL queries to fetch the required entities from the database, aka the so called n+1 query problem
  • updating entities one by one instead of doing it in using a single statement
  • doing data heavy processing on the Java side, rather than the database side

In this blogpost I’m going to explain how to use JPA 2.1 features to avoid the problems listed above.

Read more

Sneak peek of the Android Report: the Platform, the Framework, and the Way of Life

android report teaser header

Some say that time flies like a banana. While I don’t have any soft yellow fruit near me to test that theory, it sure does feel like time passes by at an alarming rate. We are already in October and I’m happy to say that we are almost ready to publish the next RebelLabs report — look out for it hitting the streets next week!

This time the topic of the report is the Android platform and everything you ever wanted to know about it. Both the Android platform and its ecosystem are too big to cover in one report, so naturally we had to be selective with the topics. Having looked on the interwebs and talked to Android developers, we concluded that everyone is interested in following best practices. The only problem is, there aren’t any guides out there that explains them in an informative, yet beautiful manner!

Well, until now.

Read more

Java Profiling from the Ground Up by Nitsan Wakart

We continue our series of Virtual JUG session recaps with “Java Profiling from the Ground Up” by Nitsan Wakart. Nitsan is the lead performance engineer at Azul Systems, working on the Zing Java VIrtual Machine. So if you have any questions about C4 pauseless garbage collection or any JVM internals, Nitsan is a great person to chat to. Additionally, he’s an avid open source fan, being the main contributor to the JCTools project, the implementations of concurrent and lockless collections, queues and so on.

Without further ado, let’s dig into what we gleaned from this session about Java profiling…

Read more

Under the hood of JRebel for Android

JRebel for Android enables live Android development by skipping the time consuming build and install steps each time you make a change. Early access for JRebel for Android has been available for nearly a month. Now is a good time to look under the hood and understand how JRebel for Android works it magic.

Read more

JRebel 6.2.5 delivers improvements for Spring and remote server security

Spring framework support improved

This release delivers important improvements to our Spring framework support. Reloading is faster thanks to the improved file system scanning. Also, support for the @Autowired annotation is improved: we now support editing these definitions and adding new dependencies.

Read more

Flavors of Concurrency in Java by Oleg Shelajev

Last week on the vJUG, our very own Oleg Shelajev, head of RebelLabs gave a session called Flavors of Concurrency. It’s an extremely good session which Oleg has given at various conferences and it was time to make it virtual! In this session, Oleg looked at what it means to run in a concurrent fashion, looking at depth into the different models of achieving concurrent code in Java. The session actually came from a blog post which Oleg wrote for RebelLabs back in December 2014 called Flavors of Concurrency in Java: Threads, Executors, ForkJoin and Actors, which is still very relevant today, so make sure you check it out.

Read more

ZeroTurnaround getting in the Zone (JavaZone that is!)

JavaZone is not only known for their awesome and sometimes cheeky promotional videos, top content, food and location but also a great party. This year was no exception, the two day conference held at the Oslo Spektrum in Norway consisted of never ending food options, top notch speakers and an awesome party, which this year was held in the expo hall. This was the first year ZeroTurnaround sponsored the event and we are glad we did!

Read more