Benny (@bmuskalla) has been following his passion of building tools for improving developer productivity. He has been an active committer of the world-class Eclipse IDE (Platform, Java, Git). Over the years, he spent a lot of time building tools, frameworks, and test approaches to help his peers become more effective. TDD and API design are aspects dear to his heart as well as working on open-source software. Benny currently works for Gradle Inc. on the Gradle Build Tool.
JfrUnit is an extension for JUnit 5 which integrates Flight Recorder into unit tests.
It makes it straightforward to initiate a JFR recording for a given set of event types, execute some test routine, and then assert the JFR events which should have been produced.
Stay tuned for next parts in this series, where we’ll explore how to trace the SQL statements executed by an application using the JMC Agent and assert these query events using JfrUnit.
The introduction of a throughput management mechanism in JFR allows getting fine details about the application behavior without the risk of being overwhelmed by the sheer number of JFR events.
The results of our preliminary tests of the setups previously completely unable to run with the allocation profiling events turned on are very exciting – JFR with event emission rate controller is able to provide a clear statistical picture of the allocation activity while keeping the recording size at a very manageable level thanks to the limit imposed on the number of captured TLAB events.
Recently we published a full getting started guide for Java with VS Code together with a list of tips and plugins for Java development with Visual Studio Code.
But… did you know you can also use it on the ARM-processor-powered Raspberry Pi?
Until recently this was not available in an official version for the Raspberry Pi, but luckily Microsoft decided to release new versions with installers for both 32-bit and 64-bit Raspberry Pis.
Let’s install and test them!
Writing concurrent programs is hard, testing concurrent programs is harder, and debugging concurrent programs is a nightmare.
The incorrect concurrent program can run for years, tricking us to believe it is stable code, and it fails when we least expect.
JCStress is a concurrency stress test tool used by JVM developers to test the correctness of the JVM itself. The OpenJDK provides this amazing tool to test the correctness of your concurrent programs.
One of the super cool things about IntelliJ IDEA is how much code you can generate with minimum effort.
There’s a Generate menu in IntelliJ IDEA that you can access with ⌘N on macOS and Alt+Insert on Windows and Linux.
Here’s a quick tour of some of the places where you can use it in Java projects in IntelliJ IDEA.
The SolarWinds attack is unique in that the hackers did not exploit a vulnerability in an application, rather they broke into the company and attacked the development pipeline. The attackers’ implant worked in the build process,
injecting new code into SolarWinds Orion as it was built to enable command & control capabilities on target systems that ran the application.
For Java developers and architects who design, build, and run applications, there are two core take-aways.
On Java, thanks to the investments communities and Microsoft have been constantly making, VS Code has been used by more and more Java developers to edit, build, run, debug, test and deploy their code and manage their projects, and by more and more students and educators to learn and teach Java language.
In this article, I will walk you through how to get started for Java on VS Code.
Most people will start with using “git blame” (or the respective functionality within their IDE/editor).
But on most non-trivial projects, you usually end up with a refactoring commit, a rename, or a trivial cross-project fix like switching to another assertion library. At first glance, we only see the most recent changes, not the most important ones.
We need to carefully remove layer by layer of sand and dirt that has been swept over the real changes to unearth them.
IntelliJ IDEA Ultimate is the most powerful IDE for JVM developers in the market by now. It has support for various JVM frameworks, complex refactorings, Integration with VCS, and many more.
Java developers spend a tremendous amount of time in front of their IDEs. Unfortunately, I’ve noticed that developers don’t take advantage of IDEA’s powerful features.
In this article, I’ll talk about some tricks that I use in my day to day job. And show you some best practices that can boost your productivity.
Now that 2021 is well underway, many prominent Java developers have taken the time to predict what 2021 may bring to the Java universe.
In this post, I arrange these predictions and observations by topic, in essence creating a series of brief panel discussions about each topic area: a sort of mini-Java conference in the form of an article!
Developing applications with Kubernetes is not such an easy task and that’s where Skaffold comes into play.
It eases the development and deployment of your applications running on Kubernetes.
It manages the entire workflow and you get instant feedback while developing and deploying your application locally or on a remote Kubernetes cluster.