JDKMon is a little tool written in JavaFX that tries to detect all OpenJDK distros installed while keeping track of updates for them.
Learn how to create a GitHub Action job that will build and test a Java-based project using Maven or Gradle.
We are going to dig a little deeper in our exploration of Project Panama and how to talk to third party libraries such as SDL & OpenGL.
With the skills you’ve learned from Part 1 and Part 2, you should be able to call most of the common function signatures in many libraries out in the wild.
In this series of articles, we will explore the APIs from OpenJDK’s Project Panama.
My intent is to show you how to be proficient in using the Foreign Linker APIs (module ‘jdk.incubator.foreign’) as it relates to Java interoperability with native code.
While this article is for newbies, I assume you know the basics of the Java language, a little bash scripting, and a familiarity with C programming concepts. If you are new to C language don’t worry I will go over the concepts later.
With the launch of IBM Semeru Runtimes, IBM makes it easier than ever to develop and run Java applications more cost-effectively in hybrid cloud environments, from public cloud to data centers.
IBM Semeru Runtimes use the class libraries from OpenJDK, along with the Eclipse OpenJ9 Java Virtual Machine to enable developers to build and deploy Java applications that will start quickly, deliver great performance, all while using less memory.
Have you ever been in the situation where you’ve been looking for a specific JDK version of a specific distribution?
Sometimes that was easy… sometimes it was hard… but it never was fun.
After creating the Disco API (“Universal OpenJDK Discovery API”, in full) which serves up JDK distributions as a service, I had the idea to create plugins for IDEs to enable people to download the JDK of their choice more easily.
JDKMon is just a little tool that scans your computer for installed OpenJDK distributions and uses the Disco API to check whether there are updates available for one of the distributions.
In case it finds updates it will present you buttons for each package it finds.
When you click on one of these buttons (e.g. tar.gz, zip, pkg etc.) you have to select a folder where the selected package should be downloaded to.
When your application has some problem, the first thing to check is running processes on the machine.
For Linux OS we generally use ps -ef. ps is one of the most used Linux troubleshooting commands. The JDK provides similar functionality for Java processes through jps. The jps command-line utility provides a list of all running Java processes on a machine for which the user has access rights. The access rights are determined by access-control mechanisms specific to the operating system.
The 8.0.1-ga tag was just set in the jmc8 repository on GitHub.
This is a patch update release, and will therefore not include any new features.
The next upcoming source release is JMC 8.1.0, which will contain new features and enhancements. The planned source release date for JMC 8.1.0 is the 2nd of August 2021.
In a multi-threaded Java application, any thread can change the state of an object.
The Java memory model in Java language specification specifies when exactly updates made by one thread are going to be visible to other threads.
This is one of the biggest problems professional Java developers deal with every day.
Java records are immutable. An object is considered immutable if its state cannot change after it is constructed. The immutable nature of records eliminates problems of its usage in a multithreaded environment.
We’re preparing a scientific paper on Hazelcast Jet, describing its architecture based on symmetric, data-local, non-blocking distributed event processing. As a part of this effort, we implemented the vendor-neutral NEXMark benchmark suite, consisting of 8 streaming queries that aim to capture typical kinds of questions you’re likely to ask about your real-time data.
The queries deal with a domain model of auctions, sellers, and bids. For example, Query 5 asks: “Which auctions have achieved the highest price in the last period?”
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.
Confused about the release cycles of OpenJDK and OpenJFX and the relationship between them? Read on to have all your questions answered.
At this moment, there are no planned features or changes in OpenJFX which require new JDK features (text blocks, records, etc), so the next releases of OpenJFX will most probably still be compatible with JDK 11.
I started programming in Java way back in 1999. I had just started a job as the director of web development at a small startup called eDeploy.com.
Rather than focusing on my experience, I thought it’d be fun to write a post that provides people with no programming experience how to become Java developers.
Hopefully, this short and sweet list of learning resources inspires you to try Java. It’s a great language, that can do many things. Write once, run anywhere!
A couple of weeks ago, JavaFX version 15 was released.
These are some of the highlights we’ve selected for you to understand its scope.
– JavaFX now has 3D support for the newer Intel graphics drivers on Linux,
– Support for e-paper displays on i.MX6 devices was added,
– FX scripting support was enhanced.
Instead of starting up the JVM, loading a class and executing the code, you can run single Java source files.
This feature is particularly useful for someone new to the language who wants to try out simple programs, you get a great beginner’s learning toolset.
Professionals can also make use of these tools to explore new language changes or to try out an unknown API.
During a code review, I suggested some code improvement related to JDK8+ streams.
Here is a discussion on readability and performance!
The Java Flight Recorder (JFR) is an invaluable tool for gaining deep insights into the performance characteristics of Java applications.
In this blog post, we’re going to explore how custom, application-specific JFR events can be used to monitor a REST API, allowing to track request counts, identify long-running requests, and more.
Learn how to use a popular distribution from Azul to build a JavaFX HelloWorld Application in 60 seconds!
I’m not sure if you’ll taken more than 60 seconds to complete the steps, but assuming your environment is setup and the JDK 11+ and JavaFX is installed you should be able to cut and paste the code in seconds.
Since JDK 14, there is a new kid on the block – Java Flight Recorder streaming, which enables developers to subscribe to JFR data.
It is a feature allowing a developer to subscribe to select JFR data and to decide what to do with that data in the host process. JFR events can also be consumed from a separate process by pointing to the file repo of a separate JVM process – the mechanism is the same.
Long gone are the days when you had to create your own user account management, authentication, and authorization for your web delivered software. Instead, contemporary applications leverage these functions (Identity and Access Management, IAM for short) from an external provider.
Let’s take a look at an example on how to configure the Liberty social login feature as an OpenID Connect client to secure Java applications with Azure Active Directory.