Skip to content

Commit 3b337d7

Browse files
author
Harry Chan
committed
Optimize toArray
replace toArray(new T[size]) with toArray(new T[0]) for better performance https://shipilev.net/blog/2016/arrays-wisdom-ancients/#_conclusion
1 parent f57be0f commit 3b337d7

10 files changed

Lines changed: 12 additions & 12 deletions

File tree

docs/src/main/java/io/jooby/adoc/Git.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public void commit(String comment) throws Exception {
5252
private void execute(final List<String> args) throws Exception {
5353
System.out.println(args.stream().collect(Collectors.joining(" ")));
5454
int exit = new ProcessExecutor()
55-
.command(args.toArray(new String[args.size()]))
55+
.command(args.toArray(new String[0]))
5656
.redirectOutput(System.out)
5757
.directory(dir.toFile())
5858
.execute()

jooby/src/main/java/io/jooby/EnvironmentOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public List<String> getActiveNames() {
6262
* @return This options.
6363
*/
6464
public @Nonnull EnvironmentOptions setActiveNames(@Nonnull List<String> activeNames) {
65-
this.activeNames = activeNames.toArray(new String[activeNames.size()]);
65+
this.activeNames = activeNames.toArray(new String[0]);
6666
return this;
6767
}
6868

jooby/src/main/java/io/jooby/Jooby.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -908,7 +908,7 @@ public Jooby errorCode(@Nonnull Class<? extends Throwable> type,
908908
buff.append(" https://{}:{}{}\n");
909909
}
910910

911-
log.info(buff.toString(), args.toArray(new Object[args.size()]));
911+
log.info(buff.toString(), args.toArray(new Object[0]));
912912

913913
this.readyCallbacks = fire(this.readyCallbacks);
914914
return this;

jooby/src/main/java/io/jooby/internal/x509/JdkSslContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public abstract class JdkSslContext extends SslContext {
8383
"TLSv1.2", "TLSv1.1", "TLSv1");
8484

8585
if (!protocols.isEmpty()) {
86-
PROTOCOLS = protocols.toArray(new String[protocols.size()]);
86+
PROTOCOLS = protocols.toArray(new String[0]);
8787
} else {
8888
PROTOCOLS = engine.getEnabledProtocols();
8989
}

jooby/src/main/java/io/jooby/internal/x509/SslContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ static KeyStore buildKeyStore(final InputStream certChainFile, final InputStream
193193
KeyStore ks = KeyStore.getInstance("JKS");
194194
ks.load(null, null);
195195
ks.setKeyEntry("key", key, keyPasswordChars,
196-
certChain.toArray(new Certificate[certChain.size()]));
196+
certChain.toArray(new Certificate[0]));
197197
return ks;
198198
}
199199

modules/jooby-apt/src/test/java/io/jooby/apt/MvcModuleCompilerRunner.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ private String[] sourceNames(Class input) {
5050
result.add(input.getName());
5151
input = input.getSuperclass();
5252
}
53-
return result.toArray(new String[result.size()]);
53+
return result.toArray(new String[0]);
5454
}
5555

5656
public MvcModuleCompilerRunner module(SneakyThrows.Consumer<Jooby> consumer) throws Exception {

modules/jooby-gradle-plugin/src/main/java/io/jooby/gradle/BaseTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ protected ClassLoader createClassLoader(List<Project> projects)
188188
}
189189

190190
private static URLClassLoader toClassLoader(final List<URL> cp, final ClassLoader parent) {
191-
return new URLClassLoader(cp.toArray(new URL[cp.size()]), parent) {
191+
return new URLClassLoader(cp.toArray(new URL[0]), parent) {
192192
@Override
193193
public String toString() {
194194
return cp.toString();

modules/jooby-jetty/src/main/java/io/jooby/jetty/Jetty.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public class Jetty extends io.jooby.Server.Base {
126126
.ifPresent(extension -> connectionFactories.addAll(extension.configure(httpConf)));
127127

128128
ServerConnector http = new ServerConnector(server,
129-
connectionFactories.toArray(new ConnectionFactory[connectionFactories.size()]));
129+
connectionFactories.toArray(new ConnectionFactory[0]));
130130
http.setPort(options.getPort());
131131
http.setHost(options.getHost());
132132

@@ -138,7 +138,7 @@ public class Jetty extends io.jooby.Server.Base {
138138
sslContextFactory
139139
.setSslContext(options.getSSLContext(application.getEnvironment().getClassLoader(), provider));
140140
List<String> protocol = options.getSsl().getProtocol();
141-
sslContextFactory.setIncludeProtocols(protocol.toArray(new String[protocol.size()]));
141+
sslContextFactory.setIncludeProtocols(protocol.toArray(new String[0]));
142142
// exclude
143143
isNotInUse(protocol, "TLSv1", sslContextFactory::addExcludeProtocols);
144144
isNotInUse(protocol, "TLSv1.1", sslContextFactory::addExcludeProtocols);
@@ -166,7 +166,7 @@ public class Jetty extends io.jooby.Server.Base {
166166

167167
ServerConnector secureConnector = new ServerConnector(server,
168168
secureConnectionFactories
169-
.toArray(new ConnectionFactory[secureConnectionFactories.size()]));
169+
.toArray(new ConnectionFactory[0]));
170170
secureConnector.setPort(options.getSecurePort());
171171
secureConnector.setHost(options.getHost());
172172

modules/jooby-pac4j/src/main/java/io/jooby/internal/pac4j/WebContextImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public Context getContext() {
5656
}
5757

5858
private void parameters(Map<String, List<String>> params, BiConsumer<String, String[]> consumer) {
59-
params.forEach((k, v) -> consumer.accept(k, v.toArray(new String[v.size()])));
59+
params.forEach((k, v) -> consumer.accept(k, v.toArray(new String[0])));
6060
}
6161

6262
@Override public Optional getRequestAttribute(String name) {

modules/jooby-run/src/main/java/io/jooby/run/JoobyRun.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public Exception start() {
8787
args.add("server.port=" + port);
8888
}
8989
args.add("server.join=false");
90-
module.run(conf.getMainClass(), args.toArray(new String[args.size()]));
90+
module.run(conf.getMainClass(), args.toArray(new String[0]));
9191
} catch (ClassNotFoundException x) {
9292
String message = x.getMessage();
9393
if (message.trim().startsWith(conf.getMainClass())) {

0 commit comments

Comments
 (0)