You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2022/10/05 16:52:46 UTC
[tomcat] branch 10.0.x updated: Refactor. Use Deque and ArrayDeque rather than LinkedList
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 10.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/10.0.x by this push:
new a4854f470f Refactor. Use Deque and ArrayDeque rather than LinkedList
a4854f470f is described below
commit a4854f470fe577524415fdec65ce2a75b39713c3
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Oct 5 17:50:37 2022 +0100
Refactor. Use Deque and ArrayDeque rather than LinkedList
---
java/org/apache/catalina/valves/RemoteIpValve.java | 6 +++---
java/org/apache/jasper/compiler/PageInfo.java | 13 +++++++------
java/org/apache/tomcat/util/scan/StandardJarScanner.java | 4 ++--
.../WEB-INF/classes/websocket/drawboard/Client.java | 6 +++---
4 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/java/org/apache/catalina/valves/RemoteIpValve.java b/java/org/apache/catalina/valves/RemoteIpValve.java
index ea43c6ba71..e7118cb59b 100644
--- a/java/org/apache/catalina/valves/RemoteIpValve.java
+++ b/java/org/apache/catalina/valves/RemoteIpValve.java
@@ -19,10 +19,10 @@ package org.apache.catalina.valves;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
+import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Enumeration;
import java.util.Iterator;
-import java.util.LinkedList;
import java.util.List;
import java.util.regex.Pattern;
@@ -626,7 +626,7 @@ public class RemoteIpValve extends ValveBase {
if (isInternal || (trustedProxies != null &&
trustedProxies.matcher(originalRemoteAddr).matches())) {
String remoteIp = null;
- Deque<String> proxiesHeaderValue = new LinkedList<>();
+ Deque<String> proxiesHeaderValue = new ArrayDeque<>();
StringBuilder concatRemoteIpHeaderValue = new StringBuilder();
for (Enumeration<String> e = request.getHeaders(remoteIpHeader); e.hasMoreElements();) {
@@ -657,7 +657,7 @@ public class RemoteIpValve extends ValveBase {
}
}
// continue to loop on remoteIpHeaderValue to build the new value of the remoteIpHeader
- LinkedList<String> newRemoteIpHeaderValue = new LinkedList<>();
+ Deque<String> newRemoteIpHeaderValue = new ArrayDeque<>();
for (; idx >= 0; idx--) {
String currentRemoteIp = remoteIpHeaderValue[idx];
newRemoteIpHeaderValue.addFirst(currentRemoteIp);
diff --git a/java/org/apache/jasper/compiler/PageInfo.java b/java/org/apache/jasper/compiler/PageInfo.java
index b84ef00c9d..68c3566c06 100644
--- a/java/org/apache/jasper/compiler/PageInfo.java
+++ b/java/org/apache/jasper/compiler/PageInfo.java
@@ -16,11 +16,12 @@
*/
package org.apache.jasper.compiler;
+import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Deque;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -47,7 +48,7 @@ class PageInfo {
private final Set<String> varInfoNames;
private final HashMap<String,TagLibraryInfo> taglibsMap;
private final HashMap<String, String> jspPrefixMapper;
- private final HashMap<String, LinkedList<String>> xmlPrefixMapper;
+ private final HashMap<String, Deque<String>> xmlPrefixMapper;
private final HashMap<String, Mark> nonCustomTagPrefixMap;
private final String jspFile;
private static final String defaultLanguage = "java";
@@ -333,9 +334,9 @@ class PageInfo {
* @param uri The URI to be pushed onto the stack
*/
public void pushPrefixMapping(String prefix, String uri) {
- LinkedList<String> stack = xmlPrefixMapper.get(prefix);
+ Deque<String> stack = xmlPrefixMapper.get(prefix);
if (stack == null) {
- stack = new LinkedList<>();
+ stack = new ArrayDeque<>();
xmlPrefixMapper.put(prefix, stack);
}
stack.addFirst(uri);
@@ -348,7 +349,7 @@ class PageInfo {
* @param prefix The prefix whose stack of URIs is to be popped
*/
public void popPrefixMapping(String prefix) {
- LinkedList<String> stack = xmlPrefixMapper.get(prefix);
+ Deque<String> stack = xmlPrefixMapper.get(prefix);
stack.removeFirst();
}
@@ -363,7 +364,7 @@ class PageInfo {
String uri = null;
- LinkedList<String> stack = xmlPrefixMapper.get(prefix);
+ Deque<String> stack = xmlPrefixMapper.get(prefix);
if (stack == null || stack.size() == 0) {
uri = jspPrefixMapper.get(prefix);
} else {
diff --git a/java/org/apache/tomcat/util/scan/StandardJarScanner.java b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
index 9a2fb79a62..54b9314f33 100644
--- a/java/org/apache/tomcat/util/scan/StandardJarScanner.java
+++ b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
@@ -22,11 +22,11 @@ import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.net.URLClassLoader;
+import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Collections;
import java.util.Deque;
import java.util.HashSet;
-import java.util.LinkedList;
import java.util.Set;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
@@ -256,7 +256,7 @@ public class StandardJarScanner implements JarScanner {
// Use a Deque so URLs can be removed as they are processed
// and new URLs can be added as they are discovered during
// processing.
- Deque<URL> classPathUrlsToProcess = new LinkedList<>();
+ Deque<URL> classPathUrlsToProcess = new ArrayDeque<>();
while (classLoader != null && classLoader != stopLoader) {
if (classLoader instanceof URLClassLoader) {
diff --git a/webapps/examples/WEB-INF/classes/websocket/drawboard/Client.java b/webapps/examples/WEB-INF/classes/websocket/drawboard/Client.java
index b4c8da77ec..a99aad0805 100644
--- a/webapps/examples/WEB-INF/classes/websocket/drawboard/Client.java
+++ b/webapps/examples/WEB-INF/classes/websocket/drawboard/Client.java
@@ -17,7 +17,8 @@
package websocket.drawboard;
import java.io.IOException;
-import java.util.LinkedList;
+import java.util.ArrayDeque;
+import java.util.Deque;
import jakarta.websocket.CloseReason;
import jakarta.websocket.CloseReason.CloseCodes;
@@ -43,8 +44,7 @@ public class Client {
* Contains the messages which are buffered until the previous
* send operation has finished.
*/
- private final LinkedList<AbstractWebsocketMessage> messagesToSend =
- new LinkedList<>();
+ private final Deque<AbstractWebsocketMessage> messagesToSend = new ArrayDeque<>();
/**
* If this client is currently sending a messages asynchronously.
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org