Imagine a bacon-wrapped Ferrari. Still not better than our free technical reports.
See all our reports
Java profilers usage diagram

Top 5 Java Profilers Revealed: Real world data with VisualVM, JProfiler, Java Mission Control, YourKit and Custom tooling.

Java profilers usage diagram

Earlier this year, we released our annual Developer Productivity report. It was based off a performance survey which collected responses from over 1500 developers, testers, architects, and many more interestingly named job titles. The great news is we gave $0.50 for every completed survey to a great charity called Dogs for Good (formerly Dogs for the Disabled), which provide assistance dogs to disabled children.

As with all problems which have many solutions, it can often be tricky to determine which is the best solution for you. What works for other people may not work for you. When it comes to profilers, there are many on the market, and it’s often tough to determine what the differences are and which is best for your application.

This blog post looks at some of the report insights and answers the following questions:

  • Which tools find the highest number of bugs?
  • Should I be using more than one tool?

Let’s look at the results!

Read more


Getting C/C++ performance in Java by John Davies


The latest Virtual JUG session was all about performance, specifically, how to write Java code to leverage low-level dynamics making your code run faster. It was presented by the notorious Java performance expert and Java consultant John Davies.

In his own words, John is an entrepreneur, father, CTO/co-founder of C24, a fast data company that helps enterprises rapidly adopt messaging standards and optimize in-memory computing solutions, a photographer, über-geek, traveller and a frequent conference speaker. His “old-school” software engineering background often helps to resolve the most complicated performance issues and he did amazing job sharing this knowledge with us.

In this post I’ll try to share the highlights of the session and describe what I learned listening to John present. Here’s the recording of the session if you want to watch it in full.

Read more

ParallelUniverse logo

What are fibers and why should you care?

The answer to that is simple: fibers are threads. Simple as that: sequential processes that we can spawn and synchronize with others. However, usually when we say “thread” we mean those threads implemented by the operating systems, while fibers (AKA lightweight threads or user-mode threads) are implemented in user mode. Actually, as we’ll see, both the abstraction and the implementation are the same; the only difference is the use case: OS threads can be used in any language but require a lot of RAM and are slow to synchronize and to spawn, while fibers are specific to a certain language or runtime, but are very lightweight, and are synchronized with virtually no overhead.

In this post I’ll only cover plain JVM threads, which have been mapped 1:1 to the operating system threads since basically forever, and Quasar fibers, which are the JVM-specific implementation of lightweight threads.

Read more

JavaOne vs Devoxx – One Conference to Rule them All!

These are the two biggest Java conferences in the world, both within just 3 calendar weeks of each other. Many of us at ZeroTurnaround attended one or both conferences.

Rather than talk about each conference individually, let’s have some fun and compare the two events, looking at what makes each of them stand out as a top tier conference. After all, it’s not often possible for developers to get to even one of these conferences, let alone both of them! So if you had to pick, which would you go for? We’ll look at cost, sessions, speakers, networking, expo, food, location and more!

Read more

evolution of programmer

So, You Want to Learn Java? Here Are Some Tips to Get Started!

You’re probably thinking: hang on, what do you mean learn Java? We’re all successful Java developers, creating marvellous programs from sketchy specifications while drinking unreasonable amounts of coffee? Oh and being paid relatively well to do so! The truth is, you can never have too much knowledge or experience. We can always learn something new and acquire the next necessary skill that will transform our view of the world (or not, but will still be helpful at work).

In this post I’ll try to outline a self-development path that can lead you from being confident with the Java syntax to being better in any software corporation. No doubt most of you already have much more experience than this novice I’m painting a picture of. You should think of this post as an exercise in organising your mental model of what you do and the skills you possess. After all such a reflection might help you realise what you want to do next in life. You might want to think about creating a fantastic startup and become a gazillionaire overnight.

Read more

Screenshot 2015-11-03 19.08.00

Java 8 in Anger by Trisha Gee

This time the Virtual JUG treated us to an impeccable live coding performance with the amazing and unflappable (even during demos) Trisha Gee.

Read more

Java generics can be confusing

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 report teaser header

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

JPA Performance

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

android report teaser header

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

1 2 3 4 5 6 38