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.