Usage of try-with-resources

pom file cleanup
This commit is contained in:
Karl Heinz Marbaise 2024-01-03 10:25:43 +01:00 committed by Gunnar Morling
parent 09d3530d44
commit 7d485d0e8b
2 changed files with 21 additions and 22 deletions

24
pom.xml
View File

@ -24,9 +24,8 @@
<version>1.0.0-SNAPSHOT</version> <version>1.0.0-SNAPSHOT</version>
<properties> <properties>
<java.version>21</java.version>
<maven.compiler.parameters>true</maven.compiler.parameters> <maven.compiler.parameters>true</maven.compiler.parameters>
<maven.compiler.release>${java.version}</maven.compiler.release> <maven.compiler.release>21</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties> </properties>
@ -100,11 +99,11 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version> <version>3.12.1</version>
<configuration> <configuration>
<enablePreview>true</enablePreview>
<parameters>true</parameters> <parameters>true</parameters>
<compilerArgs> <compilerArgs>
<compilerArg>--enable-preview</compilerArg>
<compilerArg>--add-modules</compilerArg> <compilerArg>--add-modules</compilerArg>
<compilerArg>java.base,jdk.incubator.vector</compilerArg> <compilerArg>java.base,jdk.incubator.vector</compilerArg>
</compilerArgs> </compilerArgs>
@ -118,17 +117,17 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId> <artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0-M1</version> <version>3.1.1</version>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId> <artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version> <version>3.3.0</version>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId> <artifactId>maven-install-plugin</artifactId>
<version>3.0.0-M1</version> <version>3.1.1</version>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
@ -143,12 +142,17 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId> <artifactId>maven-site-plugin</artifactId>
<version>3.9.1</version> <version>3.12.1</version>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId> <artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version> <version>3.2.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-wrapper-plugin</artifactId>
<version>3.2.0</version>
</plugin> </plugin>
</plugins> </plugins>
</pluginManagement> </pluginManagement>
@ -223,7 +227,7 @@
<configuration> <configuration>
<rules> <rules>
<requireJavaVersion> <requireJavaVersion>
<version>[${java.version},)</version> <version>${maven.compiler.release}</version>
</requireJavaVersion> </requireJavaVersion>
<requirePluginVersions> <requirePluginVersions>
<banLatest>true</banLatest> <banLatest>true</banLatest>

View File

@ -16,16 +16,14 @@
package dev.morling.onebrc; package dev.morling.onebrc;
import java.io.BufferedWriter; import java.io.BufferedWriter;
import java.io.File; import java.nio.file.Files;
import java.io.FileOutputStream; import java.nio.file.Path;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.ThreadLocalRandom;
public class CreateMeasurements { public class CreateMeasurements {
private static final String FILE = "./measurements.txt"; private static final Path MEASUREMENT_FILE = Path.of("./measurements.txt");
private record WeatherStation(String id, double meanTemperature) { private record WeatherStation(String id, double meanTemperature) {
double measurement() { double measurement() {
@ -76,7 +74,7 @@ public class CreateMeasurements {
// ) // )
// ) TO 'output.csv' (HEADER, DELIMITER ','); // ) TO 'output.csv' (HEADER, DELIMITER ',');
// @formatter:on // @formatter:on
List<WeatherStation> stations = Arrays.asList( List<WeatherStation> stations = List.of(
new WeatherStation("Abha", 18.0), new WeatherStation("Abha", 18.0),
new WeatherStation("Abidjan", 26.0), new WeatherStation("Abidjan", 26.0),
new WeatherStation("Abéché", 29.4), new WeatherStation("Abéché", 29.4),
@ -491,20 +489,17 @@ public class CreateMeasurements {
new WeatherStation("Zanzibar City", 26.0), new WeatherStation("Zanzibar City", 26.0),
new WeatherStation("Zürich", 9.3)); new WeatherStation("Zürich", 9.3));
File measurements = new File(FILE); try (BufferedWriter bw = Files.newBufferedWriter(MEASUREMENT_FILE)) {
try (FileOutputStream fos = new FileOutputStream(measurements); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));) {
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
if (i > 0 && i % 50_000_000 == 0) { if (i > 0 && i % 50_000_000 == 0) {
System.out.println("Wrote %,d measurements in %s ms".formatted(i, System.currentTimeMillis() - start)); System.out.printf("Wrote %,d measurements in %s ms%n", i, System.currentTimeMillis() - start);
} }
WeatherStation station = stations.get(ThreadLocalRandom.current().nextInt(stations.size())); WeatherStation station = stations.get(ThreadLocalRandom.current().nextInt(stations.size()));
bw.write(station.id()); bw.write(station.id());
bw.write(";" + station.measurement()); bw.write(";" + station.measurement());
bw.newLine(); bw.newLine();
} }
bw.flush();
System.out.println("Created file with %,d measurements in %s ms".formatted(size, System.currentTimeMillis() - start));
} }
System.out.printf("Created file with %,d measurements in %s ms%n", size, System.currentTimeMillis() - start);
} }
} }