diff --git a/README.md b/README.md
index 090679cc..adf46711 100644
--- a/README.md
+++ b/README.md
@@ -6,19 +6,13 @@ Jam - Java-based Data Acquisition for Nuclear Physics
Prerequisites
-------------
-Jam requires the Java Development Kit (JDK) version 11 or later. See
-[Oracle](https://www.oracle.com/technetwork/java/javase/overview/) or, better yet, install
-[OpenJDK](https://openjdk.java.net/). On Ubuntu 18.04 and later, it is possible to simply
-execute:
+Jam requires the Java Development Kit (JDK) version 17 or later. See
+[Oracle](https://www.oracle.com/technetwork/java/javase/overview/) or, better
+yet, install [OpenJDK](https://openjdk.java.net/).
- > sudo apt install openjdk-11-jdk
-
-In all likelihood, Jam will run on later versions (12 and 13, as of this writing) of Java SE.
-This has not been tested in any way, though.
-
-While it is possible to run Jam with just a Java Runtime Environment (JRE), normal usage of Jam
-means authoring sort routines in Java, and compiling them against Jam as a library (further
-details in the Jam User Guide).
+While it is possible to run Jam with just a Java Runtime Environment (JRE),
+normal usage of Jam means authoring sort routines in Java, and compiling them
+against Jam as a library (further details in the Jam User Guide).
Further User Documentation
--------------------------
@@ -28,12 +22,13 @@ See the User Guide in the Help menu once the application is launched.
To Launch Jam
-------------
-**IMPORTANT**: For the command below to work, make sure that the path to Java 11+ is in your
-system path.
+**IMPORTANT**: For the command below to work, make sure that the path to `java`
+is in your system path.
-The easiest way to launch Jam is to download the latest `Jam-X.y.z-jar-with-dependencies.jar`
-from the [project releases](https://github.com/dwvisser/jam-daq-code/releases) and launch it as
-follows:
+The easiest way to launch Jam is to download the latest
+`Jam-X.y.z-jar-with-dependencies.jar` from the
+[project releases](https://github.com/dwvisser/jam-daq-code/releases) and launch
+it as follows:
> java -jar Jam-X.y.z-jar-with-dependencies.jar
@@ -42,12 +37,14 @@ To Build and Run in Maven
**IMPORTANT**: Make sure you have set the `JAVA_HOME` environment variable.
-This assumes you've pulled the Git repository or downloaded the source tarball from GitHub.
+This assumes you've pulled the Git repository or downloaded the source tarball
+from GitHub.
> mvn package
> mvn exec:java
-After making a code change, sometimes it can be useful to execute the clean lifecycle before
+After making a code change, sometimes it can be useful to execute the clean
+lifecycle before
the package phase:
> mvn clean package
diff --git a/pom.xml b/pom.xml
index 3a8b142e..0cbabfda 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,11 +5,11 @@
org.jam-daq
Jam
- 3.1.3
+ 4.0.0
UTF-8
- 11
+ 17
@@ -112,7 +112,7 @@
com.google.inject
guice
- 4.2.3
+ 6.0.0
diff --git a/src/main/java/jam/sort/DiskDaemon.java b/src/main/java/jam/sort/DiskDaemon.java
index eb447182..5a1a0a9a 100644
--- a/src/main/java/jam/sort/DiskDaemon.java
+++ b/src/main/java/jam/sort/DiskDaemon.java
@@ -315,7 +315,7 @@ private void writeLoop() throws IOException {
}
controller.atWriteEnd();
}
- yield();
+ Thread.yield();
}
// end loop forever
}
diff --git a/src/main/java/jam/sort/SortDaemon.java b/src/main/java/jam/sort/SortDaemon.java
index 99bc0a31..545923ef 100644
--- a/src/main/java/jam/sort/SortDaemon.java
+++ b/src/main/java/jam/sort/SortDaemon.java
@@ -207,10 +207,10 @@ private void handleStatusOnline() throws SortException {
if (eventInputStatus == EventInputStatus.END_BUFFER) {
/* We have reached the end of a buffer. */
incrementBufferCount();
- yield();
+ Thread.yield();
} else if (eventInputStatus == EventInputStatus.END_RUN) {
incrementBufferCount();
- yield();
+ Thread.yield();
} else if (eventInputStatus == EventInputStatus.UNKNOWN_WORD) {
LOGGER.warning("Unknown word in event stream.");
} else if (eventInputStatus == EventInputStatus.END_FILE) {
@@ -263,7 +263,7 @@ private void periodicallyUpdateCounters() {
final int COUNT_UPDATE = 1000;
if (getEventCount() % COUNT_UPDATE == 0) {
updateCounters();
- yield();
+ Thread.yield();
}
}
@@ -512,7 +512,7 @@ public void sortOnline() throws Exception {// NOPMD
eventInputStatus = eventInputStream.readEvent(eventData);
}
handleStatusOnline();
- yield();
+ Thread.yield();
}// end infinite loop
}