Parcourir la source

局部变量线程安全,优先使用StringBuilder替换StringBuffer (#4472)

Co-authored-by: 夏亮 <xialiang@newerabc.com>
HumanPassenger il y a 2 ans
Parent
commit
10ff148aba

+ 5 - 5
connector/core/src/main/java/com/alibaba/otter/canal/connector/core/filter/AviaterRegexFilter.java

@@ -107,11 +107,11 @@ public class AviaterRegexFilter {
     private List<String> completionPattern(List<String> patterns) {
         List<String> result = new ArrayList<>();
         for (String pattern : patterns) {
-            StringBuffer stringBuffer = new StringBuffer();
-            stringBuffer.append("^");
-            stringBuffer.append(pattern);
-            stringBuffer.append("$");
-            result.add(stringBuffer.toString());
+            StringBuilder stringBuilder = new StringBuilder();
+            stringBuilder.append("^");
+            stringBuilder.append(pattern);
+            stringBuilder.append("$");
+            result.add(stringBuilder.toString());
         }
         return result;
     }

+ 5 - 5
filter/src/main/java/com/alibaba/otter/canal/filter/aviater/AviaterRegexFilter.java

@@ -109,11 +109,11 @@ public class AviaterRegexFilter implements CanalEventFilter<String> {
     private List<String> completionPattern(List<String> patterns) {
         List<String> result = new ArrayList<>();
         for (String pattern : patterns) {
-            StringBuffer stringBuffer = new StringBuffer();
-            stringBuffer.append("^");
-            stringBuffer.append(pattern);
-            stringBuffer.append("$");
-            result.add(stringBuffer.toString());
+            StringBuilder stringBuilder = new StringBuilder();
+            stringBuilder.append("^");
+            stringBuilder.append(pattern);
+            stringBuilder.append("$");
+            result.add(stringBuilder.toString());
         }
         return result;
     }

+ 1 - 1
parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/ddl/DdlResult.java

@@ -100,7 +100,7 @@ public class DdlResult {
     @Override
     public String toString() {
         DdlResult ddlResult = this;
-        StringBuffer sb = new StringBuffer();
+        StringBuilder sb = new StringBuilder();
         do {
             sb.append(String.format("DdlResult [schemaName=%s , tableName=%s , oriSchemaName=%s , oriTableName=%s , type=%s ];",
                 ddlResult.schemaName,

+ 1 - 1
parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/MemoryTableMeta.java

@@ -146,7 +146,7 @@ public class MemoryTableMeta implements TableMetaTSDB {
     public Map<String, String> snapshot() {
         Map<String, String> schemaDdls = new HashMap<>();
         for (Schema schema : repository.getSchemas()) {
-            StringBuffer data = new StringBuffer(4 * 1024);
+            StringBuilder data = new StringBuilder(4 * 1024);
             for (String table : schema.showTables()) {
                 SchemaObject schemaObject = schema.findTable(table);
                 schemaObject.getStatement().output(data);