Hey,
similar to https://bugs.openjdk.java.net/browse/JDK-8044461 I noticed two (newly introduced) places where we could avoid the regex overhead when replacing single chars. I'd be happy if this is sponsored. Cheers, Christoph =========== PATCH ============ # User Christoph Dreis < <mailto:christoph.dr...@freenet.de> christoph.dr...@freenet.de> Cleanup String.replace() occurences with single characters diff --git a/src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java b/src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java --- a/src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java +++ b/src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java @@ -39,7 +39,7 @@ public static String getPackageName(String name) { int index = name.lastIndexOf('/'); if (index != -1) { - return name.substring(0, index).replace("/", "."); + return name.substring(0, index).replace('/', '.'); } else { return ""; } diff --git a/src/java.base/share/classes/jdk/internal/module/ModulePath.java b/src/java.base/share/classes/jdk/internal/module/ModulePath.java --- a/src/java.base/share/classes/jdk/internal/module/ModulePath.java +++ b/src/java.base/share/classes/jdk/internal/module/ModulePath.java @@ -495,7 +495,7 @@ Attributes attrs = man.getMainAttributes(); String mainClass = attrs.getValue(Attributes.Name.MAIN_CLASS); if (mainClass != null) - builder.mainClass(mainClass.replace("/", ".")); + builder.mainClass(mainClass.replace('/', '.')); } return builder.build();