The latest expert opinions, articles, and guides for the Java professional.
One of the most fascinating additions to Java 9 is the JVMCI: Java-Level JVM Compiler Interface, a Java based compiler interface which allows us to plug in a dynamic compiler into the JVM. One of the main inspirations for including it into Java 9 was due to project Graal — a dynamic state-of-the-art compiler written in Java.
So, let’s look at the Java Platform Module system, or Java 9 modules. While we’re eagerly waiting for the Java 10 release in March 2018, some teams probably haven’t had time yet to migrate to Java 9 and modularize their projects. If you see yourself using Java 9 now or in the future, this 1-page reference for the most important Java 9 modules concepts, keywords, and command line options could be really handy.
Download and print out this cheat sheet so you can use it whenever you need. To get fuller explanations and more detailed content about Java 9 modules than in a printable 1-page cheat sheet, continue reading this blog post!
JRebel for Android instantly pushes your code and resources changes to your running Android app during development. It’s like Instant Run with a hyperdrive. In case you did not know, JRebel for Android has a Free version as well as an Enterprise version. Today we’ll take a look at the features that come with the Free version. More specifically, how it allows you to speed up your development flow.
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.
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.
Download and print out this cheat sheet so you can use it whenever you need. To get fuller explanations and more detailed content in the cheat sheet, continue reading this blog post!
GET THE RxJava CHEAT SHEET!
In this post, I don’t want to spend time on discussing the module system in detail, but instead, I want to talk about what every Java developer can benefit from: the upcoming API and language changes.
So here’s a list of our favorite API changes in Java 9. Naturally, you can just look at the code examples in the post, to get the gist of what’s shown. But you can also fire up JShell and run these snippets as we talk about them to see for yourself what is going on. I’ll wait for you to start JShell up before continuing… ready? Not yet? Ok… done? Still not? Yeh, it takes a while to warm up… ok it’s started, great! Let’s begin.
We’re excited to launch the survey for the RebelLabs Developer Productivity Report 2017. We’ve done a bunch of survey fuelled reports in the past and try to publish one every year analyzing the responses we get from the community about the tools they use, the technologies considered exciting or dull, the architectures we employ to build software, productivity metrics and so on. If you’ve done this before, know the ropes and just want to get started with the survey, click the fantastic button below and you’re good to go.
What is Maven?
According to the docs, Maven, or MVN, is a “software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.” However, most normal people refer to it as a build tool. Its job is to build the project, convert the source code into a binary artifact, package the resources into it, and if needed automatically download and use necessary dependencies.