If somebody asked about the Gradle feature that everybody should know about, I would probably point them towards buildSrc. It is a magic Gradle Java/Groovy project inside your repository, available as a library to all of your
This approach allows you to write code in your favorite JVM language and to use it right there in your build scripts. As a bonus, you can also cover trickier parts of your build logic with unit tests!
Java 9 is finally here
After many delays, we finally get our hands on Java 9, along with its new features and improvements!
One of the greatest and most talked about new features in Java 9 is the Java Platform Module System (previously known as Project Jigsaw). Not only has the Java runtime been split into individual modules, Java now also supports the creation of your own modules and declaring their interdependencies. This can now be done without the use of a third party module runtime (like an OSGi container). The module system also introduces stricter access checks for compile time, runtime, and reflection. Public is no longer public! You can now have classes that are public to other classes in your module — and only your module — as well as limit how classes in other modules can manipulate your private state using reflection.
Welcome to the Java Tools and Technologies Landscape Report 2017! This is an analytical report, based on an online survey of the Java community about the tools that teams and developers use, popularity and reasons for using these tools, architecture choices and so on.
For this year’s report, we focused on why Java developers use the tools they use and how satisfied they are with their choices in tools, architecture, and so on.
Download the PDF version of the report (in excellent quality):
GET THE REPORT!
RebelLabs Developer Productivity reports are analytical reports based on online surveys of Java developers. Over the last 6 years, we reported on the ecosystem landscape, performance tooling choice, software development quality and predictability, and so on. One of our main reasons for writing the reports is to understand how the Java developer community evolves, which tools they use and the current trends.
This year’s report focuses on why Java developers use the tools they use and how satisfied they are with their choices in tools, architecture, and so on.
The data for this report comes from the results of a public RebelLabs survey that we ran in May-July 2017 which received about 2060 responses.
We analysed the data and all the findings are publicly available in the main report blog post.
However, this year we decided to share the data we gathered as well as the analysis. This way you can always check the claims, do additional research, or just play with the data to generate pretty graphs about your favorite tools.
Oh em gee! Traditional performance management is broken, who broke it?!? Well in all honesty, it has always been broken because, most companies don’t start thinking about performance monitoring until the application is in production. In fact, we’ve found that over 75% of the application performance issues make it to production where customers experience them. Just imagine if we did this with our QA issues.
Some time ago, I started working on an AutoValue extension for reading and writing Java properties files. Here’s a rough plan of what I thought it should do:
- have a simple and reliable implementation;
- be similar or reuse the existing AutoValue extensions as much as possible;
- easily replace the custom code in our projects for reading/writing the .properties files;
- support obfuscated builds out of the box.
I didn’t get it to the stage where the code is ready to become public yet, although, we’re open to that idea, I learned quite a bit about AutoValue, how its extensions work and in this post, I want to share that knowledge with you.
In this post, we’ll look at what AutoValue is and how it can help you keep your code cleaner and less verbose, at AutoValue extension mechanism and AutoValue Moshi extension works.
With the Java 9 version on the brink of release, we thought we’d ask 9 Java Champions for their opinions about the Java 9 release. In this blog post we’ll feature responses from four Java Champions on what they like and dislike about Java 9.
In this post, I want to share my setup to switch the active JDK version on the command line. Note, I’m use a Mac, and the scripts in this post will work on a Mac and, perhaps, on some Linux machines. If you have a good recipe on how you switch Java versions on the command line on Windows, please share with the community in the comments.
Let’s get to it then. When you download a new JDK release it comes as an installer, so you double click it, click the “Next” button necessary amount of times, and it puts the files somewhere on the filesystem. Or you do it manually.