[SCB-2548] enable checkstyle RedundantModifier (#3039)

diff --git a/ci/checkstyle/checkstyle.xml b/ci/checkstyle/checkstyle.xml
index 9afaa12..21eaa55 100644
--- a/ci/checkstyle/checkstyle.xml
+++ b/ci/checkstyle/checkstyle.xml
@@ -31,6 +31,9 @@
   <module name="TreeWalker">
     <module name="AvoidStarImport"/>
     <module name="RedundantImport"/>
+    <module name="RedundantModifier">
+      <property name="tokens" value="METHOD_DEF, VARIABLE_DEF, ANNOTATION_FIELD_DEF, INTERFACE_DEF, CLASS_DEF, ENUM_DEF"/>
+    </module>
     <module name="UnusedImports">
       <property name="processJavadoc" value="true"/>
     </module>
diff --git a/ci/checkstyle/suppressions.xml b/ci/checkstyle/suppressions.xml
new file mode 100644
index 0000000..57e56d5
--- /dev/null
+++ b/ci/checkstyle/suppressions.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<!DOCTYPE suppressions PUBLIC
+        "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
+        "https://checkstyle.org/dtds/suppressions_1_2.dtd">
+
+<suppressions>
+    <suppress files="[/\\]target[/\\]" checks=".*" />
+</suppressions>
diff --git a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/TestFormRequestSchema.java b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/TestFormRequestSchema.java
index 5ce08f8..f0e9938 100644
--- a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/TestFormRequestSchema.java
+++ b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/TestFormRequestSchema.java
@@ -53,7 +53,7 @@
       HttpHeaders headers = new HttpHeaders();
       headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
       MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
-      StringBuffer stringBuffer = new StringBuffer();
+      StringBuilder stringBuffer = new StringBuilder();
       for (int i = 0; i < 512; i++) {
         stringBuffer.append("a");
       }
@@ -73,7 +73,7 @@
     HttpHeaders headers = new HttpHeaders();
     headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
     MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
-    StringBuffer stringBuffer = new StringBuffer();
+    StringBuilder stringBuffer = new StringBuilder();
     for (int i = 0; i < 1688; i++) {
       stringBuffer.append("a");
     }
diff --git a/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/IServerEndpoint.java b/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/IServerEndpoint.java
index 4d38e9e..b4ac304 100644
--- a/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/IServerEndpoint.java
+++ b/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/IServerEndpoint.java
@@ -18,5 +18,5 @@
 package org.apache.servicecomb.demo.registry;
 
 public interface IServerEndpoint {
-  public String getName(String name);
+  String getName(String name);
 }
diff --git a/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/TestSameService.java b/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/TestSameService.java
index 4f36b58..1ccb00c 100644
--- a/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/TestSameService.java
+++ b/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/TestSameService.java
@@ -28,22 +28,22 @@
 public class TestSameService implements CategorizedTestCase {
   @SwaggerDefinition(basePath = "/SameInterface1")
   public interface SameInterface1 {
-    public String sayHello(String name);
+    String sayHello(String name);
   }
 
   @SwaggerDefinition(basePath = "/SameInterface2")
   public interface SameInterface2 {
-    public String sayHello(String name);
+    String sayHello(String name);
   }
 
   @SwaggerDefinition(basePath = "/SameService1")
   public interface SameService1 {
-    public String sayHello(String name);
+    String sayHello(String name);
   }
 
   @SwaggerDefinition(basePath = "/SameService2")
   public interface SameService2 {
-    public String sayHello(String name);
+    String sayHello(String name);
   }
 
   @RpcReference(microserviceName = "pojo", schemaId = "SameService1")
diff --git a/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/same/pk1/SameInterface.java b/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/same/pk1/SameInterface.java
index d6d58e7..1ab38bb 100644
--- a/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/same/pk1/SameInterface.java
+++ b/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/same/pk1/SameInterface.java
@@ -21,5 +21,5 @@
 
 @SwaggerDefinition(basePath = "/SameInterface1")
 public interface SameInterface {
-  public String sayHello(String name);
+  String sayHello(String name);
 }
diff --git a/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/same/pk2/SameInterface.java b/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/same/pk2/SameInterface.java
index 45c99e0..ce901b4 100644
--- a/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/same/pk2/SameInterface.java
+++ b/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/same/pk2/SameInterface.java
@@ -21,5 +21,5 @@
 
 @SwaggerDefinition(basePath = "/SameInterface2")
 public interface SameInterface {
-  public String sayHello(String name);
+  String sayHello(String name);
 }
diff --git a/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/helloworld/greeter/Hello.java b/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/helloworld/greeter/Hello.java
index a84ac02..d9b3530 100644
--- a/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/helloworld/greeter/Hello.java
+++ b/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/helloworld/greeter/Hello.java
@@ -18,7 +18,7 @@
 package org.apache.servicecomb.demo.helloworld.greeter;
 
 public interface Hello {
-  public String SayHello(String name);
+  String SayHello(String name);
 
-  public String SayHelloAgain(String name);
+  String SayHelloAgain(String name);
 }
diff --git a/demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/demo/helloworld/greeter/Hello.java b/demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/demo/helloworld/greeter/Hello.java
index a84ac02..d9b3530 100644
--- a/demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/demo/helloworld/greeter/Hello.java
+++ b/demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/demo/helloworld/greeter/Hello.java
@@ -18,7 +18,7 @@
 package org.apache.servicecomb.demo.helloworld.greeter;
 
 public interface Hello {
-  public String SayHello(String name);
+  String SayHello(String name);
 
-  public String SayHelloAgain(String name);
+  String SayHelloAgain(String name);
 }
diff --git a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestUploadSchema.java b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestUploadSchema.java
index 4c04332..ec0cf3d 100644
--- a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestUploadSchema.java
+++ b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestUploadSchema.java
@@ -91,7 +91,7 @@
     String result = template.postForObject("servicecomb://springmvc/upload/fileUpload", entity, String.class);
     TestMgr.check(result, "success");
 
-    files.forEach(file -> file.delete());
+    files.forEach(File::delete);
   }
 
   private void testFileUploadMultiRpc() throws IOException {
diff --git a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/SchemeInterfaceSpringmvc.java b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/SchemeInterfaceSpringmvc.java
index 68aba03..15e28fb 100644
--- a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/SchemeInterfaceSpringmvc.java
+++ b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/SchemeInterfaceSpringmvc.java
@@ -27,5 +27,5 @@
 @RequestMapping(path = "/springmvc/schemaInterface", produces = MediaType.APPLICATION_JSON)
 public interface SchemeInterfaceSpringmvc {
   @GetMapping(path = "/add")
-  public int add(@Min(1) @RequestParam("a") int a, @Min(1) @RequestParam("b") int b);
+  int add(@Min(1) @RequestParam("a") int a, @Min(1) @RequestParam("b") int b);
 }
diff --git a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/UploadSchema.java b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/UploadSchema.java
index 74b687c..3880e64 100644
--- a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/UploadSchema.java
+++ b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/UploadSchema.java
@@ -48,7 +48,7 @@
         file.transferTo(tempFile);
         index++;
       }
-      savedFiles.forEach(file -> file.delete());
+      savedFiles.forEach(File::delete);
       return "success";
     } catch (IOException e) {
       return "failed";
diff --git a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestBeanUtils.java b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestBeanUtils.java
index f1e72ef..55f3d3b 100644
--- a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestBeanUtils.java
+++ b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestBeanUtils.java
@@ -31,7 +31,7 @@
 import mockit.Mocked;
 
 public class TestBeanUtils {
-  static interface Intf {
+  interface Intf {
 
   }
 
diff --git a/foundations/foundation-protobuf/src/main/java/io/protostuff/OutputEx.java b/foundations/foundation-protobuf/src/main/java/io/protostuff/OutputEx.java
index 2d201c8..aefd1bf 100644
--- a/foundations/foundation-protobuf/src/main/java/io/protostuff/OutputEx.java
+++ b/foundations/foundation-protobuf/src/main/java/io/protostuff/OutputEx.java
@@ -154,7 +154,7 @@
 
   void writeScalarUInt64(int tag, int tagSize, long value) throws IOException;
 
-  void writePackedSInt32(final int value) throws IOException;
+  void writePackedSInt32(int value) throws IOException;
 
   void writeScalarSInt32(int tag, int tagSize, int value) throws IOException;
 
diff --git a/foundations/foundation-protobuf/src/main/java/io/protostuff/ProtobufOutputEx.java b/foundations/foundation-protobuf/src/main/java/io/protostuff/ProtobufOutputEx.java
index f4a82d3..8c47ab4 100644
--- a/foundations/foundation-protobuf/src/main/java/io/protostuff/ProtobufOutputEx.java
+++ b/foundations/foundation-protobuf/src/main/java/io/protostuff/ProtobufOutputEx.java
@@ -54,7 +54,7 @@
   }
 
   @Override
-  public final void writeInt32(int tag, int tagSize, int value) {
+  public void writeInt32(int tag, int tagSize, int value) {
     if (value < 0) {
       tail = writeTagAndRawVarInt64(tag, tagSize, value, this, tail);
       return;
@@ -64,72 +64,72 @@
   }
 
   @Override
-  public final void writeUInt32(int tag, int tagSize, int value) {
+  public void writeUInt32(int tag, int tagSize, int value) {
     tail = writeTagAndRawVarInt32(tag, tagSize, value, this, tail);
   }
 
   @Override
-  public final void writeSInt32(int tag, int tagSize, int value) {
+  public void writeSInt32(int tag, int tagSize, int value) {
     tail = writeTagAndRawVarInt32(tag, tagSize, encodeZigZag32(value), this, tail);
   }
 
   @Override
-  public final void writeFixed32(int tag, int tagSize, int value) {
+  public void writeFixed32(int tag, int tagSize, int value) {
     tail = writeTagAndRawLittleEndian32(tag, tagSize, value, this, tail);
   }
 
   @Override
-  public final void writeSFixed32(int tag, int tagSize, int value) {
+  public void writeSFixed32(int tag, int tagSize, int value) {
     tail = writeTagAndRawLittleEndian32(tag, tagSize, value, this, tail);
   }
 
   @Override
-  public final void writeInt64(int tag, int tagSize, long value) {
+  public void writeInt64(int tag, int tagSize, long value) {
     tail = writeTagAndRawVarInt64(tag, tagSize, value, this, tail);
   }
 
   @Override
-  public final void writeUInt64(int tag, int tagSize, long value) {
+  public void writeUInt64(int tag, int tagSize, long value) {
     tail = writeTagAndRawVarInt64(tag, tagSize, value, this, tail);
   }
 
   @Override
-  public final void writeSInt64(int tag, int tagSize, long value) {
+  public void writeSInt64(int tag, int tagSize, long value) {
     tail = writeTagAndRawVarInt64(tag, tagSize, encodeZigZag64(value), this, tail);
   }
 
   @Override
-  public final void writeFixed64(int tag, int tagSize, long value) {
+  public void writeFixed64(int tag, int tagSize, long value) {
     tail = writeTagAndRawLittleEndian64(tag, tagSize, value, this, tail);
   }
 
   @Override
-  public final void writeSFixed64(int tag, int tagSize, long value) {
+  public void writeSFixed64(int tag, int tagSize, long value) {
     tail = writeTagAndRawLittleEndian64(tag, tagSize, value, this, tail);
   }
 
   @Override
-  public final void writeFloat(int tag, int tagSize, float value) {
+  public void writeFloat(int tag, int tagSize, float value) {
     tail = writeTagAndRawLittleEndian32(tag, tagSize, Float.floatToRawIntBits(value), this, tail);
   }
 
   @Override
-  public final void writeDouble(int tag, int tagSize, double value) {
+  public void writeDouble(int tag, int tagSize, double value) {
     tail = writeTagAndRawLittleEndian64(tag, tagSize, Double.doubleToRawLongBits(value), this, tail);
   }
 
   @Override
-  public final void writeBool(int tag, int tagSize, boolean value) {
+  public void writeBool(int tag, int tagSize, boolean value) {
     tail = writeTagAndRawVarInt32(tag, tagSize, value ? 1 : 0, this, tail);
   }
 
   @Override
-  public final void writeEnum(int tag, int tagSize, int number) {
+  public void writeEnum(int tag, int tagSize, int number) {
     writeInt32(tag, tagSize, number);
   }
 
   @Override
-  public final void writeString(int tag, int tagSize, String value) {
+  public void writeString(int tag, int tagSize, String value) {
     tail = writeUTF8VarDelimited(
         value,
         this,
@@ -137,12 +137,12 @@
   }
 
   @Override
-  public final void writeBytes(int tag, int tagSize, ByteString value) {
+  public void writeBytes(int tag, int tagSize, ByteString value) {
     writeByteArray(tag, tagSize, value.getBytes());
   }
 
   @Override
-  public final void writeByteArray(int tag, int tagSize, byte[] bytes) {
+  public void writeByteArray(int tag, int tagSize, byte[] bytes) {
     tail = writeTagAndByteArray(
         tag, tagSize,
         bytes, 0, bytes.length,
@@ -151,7 +151,7 @@
   }
 
   @Override
-  public final void writeByteRange(boolean utf8String, int tag, int tagSize, byte[] value, int offset, int length) {
+  public void writeByteRange(boolean utf8String, int tag, int tagSize, byte[] value, int offset, int length) {
     tail = writeTagAndByteArray(
         tag, tagSize,
         value, offset, length,
@@ -160,7 +160,7 @@
   }
 
   @Override
-  public final <T> void writeObject(final int tag, int tagSize, final T value, final SchemaWriter<T> schemaWriter)
+  public <T> void writeObject(final int tag, int tagSize, final T value, final SchemaWriter<T> schemaWriter)
       throws IOException {
     final LinkedBuffer lastBuffer;
 
@@ -642,7 +642,7 @@
    * Writes a ByteBuffer field.
    */
   @Override
-  public final void writeBytes(int tag, int tagSize, ByteBuffer value) {
+  public void writeBytes(int tag, int tagSize, ByteBuffer value) {
     writeByteRange(false, tag, tagSize, value.array(), value.arrayOffset() + value.position(), value.remaining());
   }
 
@@ -651,7 +651,7 @@
   }
 
   @Override
-  public final void writePackedInt32(int value) {
+  public void writePackedInt32(int value) {
     if (value >= 0) {
       tail = writeRawVarInt32(value, this, tail);
       return;
@@ -661,33 +661,33 @@
   }
 
   @Override
-  public final void writeScalarInt32(int tag, int tagSize, int value) {
+  public void writeScalarInt32(int tag, int tagSize, int value) {
     if (value != 0) {
       writeInt32(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writeScalarInt64(int tag, int tagSize, long value) {
+  public void writeScalarInt64(int tag, int tagSize, long value) {
     if (value != 0) {
       writeInt64(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writePackedUInt32(int value) {
+  public void writePackedUInt32(int value) {
     tail = writeRawVarInt32(value, this, tail);
   }
 
   @Override
-  public final void writeScalarUInt32(int tag, int tagSize, int value) {
+  public void writeScalarUInt32(int tag, int tagSize, int value) {
     if (value != 0) {
       writeUInt32(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writePackedUInt64(long value) {
+  public void writePackedUInt64(long value) {
     final int size = computeRawVarint64Size(value);
 
     if (tail.offset + size > tail.buffer.length) {
@@ -711,33 +711,33 @@
   }
 
   @Override
-  public final void writeScalarUInt64(int tag, int tagSize, long value) {
+  public void writeScalarUInt64(int tag, int tagSize, long value) {
     if (value != 0) {
       writeUInt64(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writePackedSInt32(int value) {
+  public void writePackedSInt32(int value) {
     tail = writeRawVarInt32(encodeZigZag32(value), this, tail);
   }
 
   @Override
-  public final void writeScalarSInt32(int tag, int tagSize, int value) {
+  public void writeScalarSInt32(int tag, int tagSize, int value) {
     if (value != 0) {
       writeSInt32(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writeScalarSInt64(int tag, int tagSize, long value) {
+  public void writeScalarSInt64(int tag, int tagSize, long value) {
     if (value != 0) {
       writeSInt64(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writePackedFixed32(int value) {
+  public void writePackedFixed32(int value) {
     final int size = LITTLE_ENDIAN_32_SIZE;
 
     if (tail.offset + size > tail.buffer.length) {
@@ -756,14 +756,14 @@
   }
 
   @Override
-  public final void writeScalarFixed32(int tag, int tagSize, int value) {
+  public void writeScalarFixed32(int tag, int tagSize, int value) {
     if (value != 0) {
       writeFixed32(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writePackedFixed64(long value) {
+  public void writePackedFixed64(long value) {
     final int size = LITTLE_ENDIAN_64_SIZE;
 
     if (tail.offset + size > tail.buffer.length) {
@@ -786,42 +786,42 @@
   }
 
   @Override
-  public final void writeScalarFixed64(int tag, int tagSize, long value) {
+  public void writeScalarFixed64(int tag, int tagSize, long value) {
     if (value != 0) {
       writeFixed64(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writeScalarSFixed32(int tag, int tagSize, int value) {
+  public void writeScalarSFixed32(int tag, int tagSize, int value) {
     if (value != 0) {
       writeSFixed32(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writeScalarSFixed64(int tag, int tagSize, long value) {
+  public void writeScalarSFixed64(int tag, int tagSize, long value) {
     if (value != 0) {
       writeSFixed64(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writeScalarFloat(int tag, int tagSize, float value) {
+  public void writeScalarFloat(int tag, int tagSize, float value) {
     if (value != 0) {
       writeFloat(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writeScalarDouble(int tag, int tagSize, double value) {
+  public void writeScalarDouble(int tag, int tagSize, double value) {
     if (value != 0) {
       writeDouble(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writePackedBool(boolean value) {
+  public void writePackedBool(boolean value) {
     final int size = 1;
 
     if (tail.offset + size > tail.buffer.length) {
@@ -837,18 +837,18 @@
   }
 
   @Override
-  public final void writeScalarBool(int tag, int tagSize, boolean value) {
+  public void writeScalarBool(int tag, int tagSize, boolean value) {
     if (value) {
       writeBool(tag, tagSize, value);
     }
   }
 
   @Override
-  public final void writeScalarEnum(int tag, int tagSize, int value) {
+  public void writeScalarEnum(int tag, int tagSize, int value) {
     writeScalarInt32(tag, tagSize, value);
   }
 
-  public final void writeScalarString(int tag, int tagSize, String value) {
+  public void writeScalarString(int tag, int tagSize, String value) {
     writeString(tag, tagSize, value);
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/ProtoConst.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/ProtoConst.java
index cc2c0ba..117d82d 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/ProtoConst.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/ProtoConst.java
@@ -31,31 +31,31 @@
   private ProtoConst() {
   }
 
-  public static String ANNOTATION_WRAP_ARGUMENTS = "@WrapArguments";
+  public static final String ANNOTATION_WRAP_ARGUMENTS = "@WrapArguments";
 
-  public static String ANNOTATION_WRAP_PROPERTY = "@WrapProperty";
+  public static final String ANNOTATION_WRAP_PROPERTY = "@WrapProperty";
 
   public static String ANNOTATION_RPC = "@Rpc";
 
-  public static String PACK_SCHEMA = "type.googleapis.com/";
+  public static final String PACK_SCHEMA = "type.googleapis.com/";
 
-  public static String JSON_SCHEMA = "json/";
+  public static final String JSON_SCHEMA = "json/";
 
-  public static String JSON_ID_NAME = "@type";
+  public static final String JSON_ID_NAME = "@type";
 
-  public static JavaType MAP_TYPE = TypeFactory.defaultInstance().constructType(LinkedHashMap.class);
+  public static final JavaType MAP_TYPE = TypeFactory.defaultInstance().constructType(LinkedHashMap.class);
 
-  public static JavaType LIST_TYPE = TypeFactory.defaultInstance().constructType(ArrayList.class);
+  public static final JavaType LIST_TYPE = TypeFactory.defaultInstance().constructType(ArrayList.class);
 
-  public static JavaType OBJECT_TYPE = TypeFactory.defaultInstance().constructType(Object.class);
+  public static final JavaType OBJECT_TYPE = TypeFactory.defaultInstance().constructType(Object.class);
 
-  public static Proto ANY_PROTO;
+  public static final Proto ANY_PROTO;
 
-  public static Message ANY;
+  public static final Message ANY;
 
-  public static Proto EMPTY_PROTO;
+  public static final Proto EMPTY_PROTO;
 
-  public static Message EMPTY;
+  public static final Message EMPTY;
 
   static {
     ProtoParser protoParser = new ProtoParser();
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/SchemaManager.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/SchemaManager.java
index ca7b0e2..3beaa00 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/SchemaManager.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/SchemaManager.java
@@ -53,7 +53,7 @@
   protected final Proto proto;
 
   // key is canonical message name + ":" + canonical type name
-  protected Map<String, SchemaEx<?>> canonicalSchemas = new ConcurrentHashMapEx<>();
+  protected final Map<String, SchemaEx<?>> canonicalSchemas = new ConcurrentHashMapEx<>();
 
   public SchemaManager(ProtoMapper protoMapper) {
     this.protoMapper = protoMapper;
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/any/AnyEntrySchema.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/any/AnyEntrySchema.java
index 9d028fb..4fc8fd5 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/any/AnyEntrySchema.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/any/AnyEntrySchema.java
@@ -189,9 +189,7 @@
     // standard pack
     RootSerializer valueSerializer = protoMapper.createRootSerializer(message, _value.getClass());
     String valueCanonicalName = message.getCanonicalName();
-    return (output, value) -> {
-      standardPack(output, value, valueCanonicalName, valueSerializer);
-    };
+    return (output, value) -> standardPack(output, value, valueCanonicalName, valueSerializer);
   }
 
   protected void standardPack(OutputEx output, Object message, String canonicalName, RootSerializer valueSerializer)
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/MessageReadSchema.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/MessageReadSchema.java
index 03dd150..68990c2 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/MessageReadSchema.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/MessageReadSchema.java
@@ -52,9 +52,9 @@
 public class MessageReadSchema<T> implements SchemaEx<T> {
   private static final Logger LOGGER = LoggerFactory.getLogger(MessageReadSchema.class);
 
-  protected ProtoMapper protoMapper;
+  protected final ProtoMapper protoMapper;
 
-  protected Message message;
+  protected final Message message;
 
   private FieldMapEx<T> fieldMap;
 
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/MessageWriteSchema.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/MessageWriteSchema.java
index f3ba9fa..49b2154 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/MessageWriteSchema.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/MessageWriteSchema.java
@@ -49,9 +49,9 @@
  * </pre>
  */
 public class MessageWriteSchema<T> implements SchemaEx<T> {
-  protected ProtoMapper protoMapper;
+  protected final ProtoMapper protoMapper;
 
-  protected Message message;
+  protected final Message message;
 
   private final JavaType javaType;
 
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int32WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int32WriteSchemas.java
index 724321b..9172823 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int32WriteSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int32WriteSchemas.java
@@ -108,7 +108,7 @@
     }
 
     @Override
-    public final void getAndWriteTo(OutputEx output, T message) throws IOException {
+    public void getAndWriteTo(OutputEx output, T message) throws IOException {
       int value = primitiveGetter.get(message);
       output.writeScalarInt32(tag, tagSize, value);
     }
@@ -124,7 +124,7 @@
     }
 
     @Override
-    public final void getAndWriteTo(OutputEx output, T message) throws IOException {
+    public void getAndWriteTo(OutputEx output, T message) throws IOException {
       short value = primitiveGetter.get(message);
       output.writeScalarInt32(tag, tagSize, value);
     }
@@ -140,7 +140,7 @@
     }
 
     @Override
-    public final void getAndWriteTo(OutputEx output, T message) throws IOException {
+    public void getAndWriteTo(OutputEx output, T message) throws IOException {
       byte value = primitiveGetter.get(message);
       output.writeScalarInt32(tag, tagSize, value);
     }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int64WriteSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int64WriteSchemas.java
index 1d0cf4d..aca8003 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int64WriteSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/serializer/scalar/Int64WriteSchemas.java
@@ -118,7 +118,7 @@
     }
 
     @Override
-    public final void getAndWriteTo(OutputEx output, T message) throws IOException {
+    public void getAndWriteTo(OutputEx output, T message) throws IOException {
       long value = primitiveGetter.get(message);
       output.writeScalarInt64(tag, tagSize, value);
     }
diff --git a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Versions.java b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Versions.java
index 685fac6..aca4a67 100644
--- a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Versions.java
+++ b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Versions.java
@@ -19,5 +19,5 @@
 import java.util.Map;
 
 public interface Versions {
-  public Map<String, String> loadVersion();
+  Map<String, String> loadVersion();
 }
diff --git a/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/KeyStoreUtilTest.java b/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/KeyStoreUtilTest.java
index 29bb191..f7d046f 100644
--- a/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/KeyStoreUtilTest.java
+++ b/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/KeyStoreUtilTest.java
@@ -110,7 +110,7 @@
     try {
       new MockUp<CertificateFactory>() {
         @Mock
-        public final CertificateFactory getInstance(String type) throws CertificateException {
+        public CertificateFactory getInstance(String type) throws CertificateException {
           throw new CertificateException();
         }
       };
@@ -129,7 +129,7 @@
     try {
       new MockUp<CertificateFactory>() {
         @Mock
-        public final CertificateFactory getInstance(
+        public CertificateFactory getInstance(
             String type) throws CertificateException, FileNotFoundException {
           throw new FileNotFoundException();
         }
@@ -149,7 +149,7 @@
     try {
       new MockUp<CertificateFactory>() {
         @Mock
-        public final CertificateFactory getInstance(String type) throws CertificateException, CRLException {
+        public CertificateFactory getInstance(String type) throws CertificateException, CRLException {
           throw new CRLException();
         }
       };
@@ -165,7 +165,7 @@
     new MockUp<CertificateFactory>() {
       @SuppressWarnings("unchecked")
       @Mock
-      public final Collection<? extends CRL> generateCRLs(InputStream inStream) throws CRLException {
+      public Collection<? extends CRL> generateCRLs(InputStream inStream) throws CRLException {
         return Mockito.mock(Collection.class);
       }
     };
diff --git a/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/SSLManagerTest.java b/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/SSLManagerTest.java
index 4ab4d9e..a11b70e 100644
--- a/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/SSLManagerTest.java
+++ b/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/SSLManagerTest.java
@@ -278,7 +278,7 @@
 
     new MockUp<SSLContext>() {
       @Mock
-      public final SSLContext getInstance(String type) throws NoSuchAlgorithmException {
+      public SSLContext getInstance(String type) throws NoSuchAlgorithmException {
         throw new NoSuchAlgorithmException();
       }
     };
@@ -309,7 +309,7 @@
 
     new MockUp<SSLContext>() {
       @Mock
-      public final SSLContext getInstance(String type) throws KeyManagementException {
+      public SSLContext getInstance(String type) throws KeyManagementException {
         throw new KeyManagementException();
       }
     };
@@ -340,7 +340,7 @@
 
     new MockUp<SSLContext>() {
       @Mock
-      public final SSLContext getInstance(String type) throws UnknownHostException {
+      public SSLContext getInstance(String type) throws UnknownHostException {
         throw new UnknownHostException();
       }
     };
@@ -372,7 +372,7 @@
 
     new MockUp<SSLContext>() {
       @Mock
-      public final SSLContext getInstance(String type) throws IOException {
+      public SSLContext getInstance(String type) throws IOException {
         throw new IOException();
       }
     };
@@ -403,7 +403,7 @@
 
     new MockUp<SSLContext>() {
       @Mock
-      public final SSLContext getInstance(String type) throws UnknownHostException {
+      public SSLContext getInstance(String type) throws UnknownHostException {
         throw new UnknownHostException();
       }
     };
@@ -434,7 +434,7 @@
 
     new MockUp<SSLContext>() {
       @Mock
-      public final SSLContext getInstance(String type) throws IOException {
+      public SSLContext getInstance(String type) throws IOException {
         throw new IOException();
       }
     };
diff --git a/integration-tests/dynamic-config-tests/src/test/java/org/apache/dynamicconfig/test/SimApolloServer.java b/integration-tests/dynamic-config-tests/src/test/java/org/apache/dynamicconfig/test/SimApolloServer.java
index be80ac2..1d46594 100644
--- a/integration-tests/dynamic-config-tests/src/test/java/org/apache/dynamicconfig/test/SimApolloServer.java
+++ b/integration-tests/dynamic-config-tests/src/test/java/org/apache/dynamicconfig/test/SimApolloServer.java
@@ -36,10 +36,8 @@
         + "  \"dataChangeLastModifiedTime\": \"2018-07-03T15:17:32.000+0800\"\n"
         + "}";
 
-    vertx.createHttpServer().requestHandler(req -> {
-      req.response()
-          .putHeader("content-type", "application/json")
-          .end(response);
-    }).listen(23334);
+    vertx.createHttpServer().requestHandler(req -> req.response()
+        .putHeader("content-type", "application/json")
+        .end(response)).listen(23334);
   }
 }
diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/junit/ITJUnitUtils.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/junit/ITJUnitUtils.java
index aa8e335..55364b8 100644
--- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/junit/ITJUnitUtils.java
+++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/junit/ITJUnitUtils.java
@@ -152,7 +152,7 @@
     try {
       return ClassPath.from(classLoader)
           .getTopLevelClassesRecursive(packageName).stream()
-          .map(clsInfo -> clsInfo.load())
+          .map(ClassPath.ClassInfo::load)
           .toArray(Class[]::new);
     } catch (IOException e) {
       throw new IllegalStateException("failed to find all classes in package " + packageName, e);
diff --git a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/UploadJaxrsSchema.java b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/UploadJaxrsSchema.java
index b65eff7..9ea52fd 100644
--- a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/UploadJaxrsSchema.java
+++ b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/UploadJaxrsSchema.java
@@ -66,9 +66,7 @@
   public String uploadList1(@FormParam("file1") List<Part> file1, @FormParam("file2") Part file2)
       throws IOException {
     StringBuilder stringBuilder = new StringBuilder();
-    file1.forEach(part -> {
-      stringBuilder.append(getStrFromPart(part));
-    });
+    file1.forEach(part -> stringBuilder.append(getStrFromPart(part)));
     return stringBuilder.append(getStrFromPart(file2)).toString();
   }
 
@@ -78,9 +76,7 @@
   public String uploadArrayList1(@FormParam("file1") ArrayList<Part> file1, @FormParam("file2") Part file2)
       throws IOException {
     StringBuilder stringBuilder = new StringBuilder();
-    file1.forEach(part -> {
-      stringBuilder.append(getStrFromPart(part));
-    });
+    file1.forEach(part -> stringBuilder.append(getStrFromPart(part)));
     return stringBuilder.append(getStrFromPart(file2)).toString();
   }
 
@@ -112,26 +108,13 @@
     return stringBuilder.append(message).toString();
   }
 
-//  @Path("/uploadArrayList2")
-//  @POST
-//  @Produces(MediaType.TEXT_PLAIN)
-//  public String uploadArrayList2(@FormParam("file1") ArrayList<Part> file1, @FormParam("message") String message) {
-//    StringBuilder stringBuilder = new StringBuilder();
-//    file1.forEach(part -> {
-//      stringBuilder.append(getStrFromPart(part));
-//    });
-//    return stringBuilder.append(message).toString();
-//  }
-
   @Path("/uploadMix")
   @POST
   @Produces(MediaType.TEXT_PLAIN)
   public String uploadMix(@FormParam("file1") List<Part> file1, @FormParam("file2") Part[] file2,
       @FormParam("message") String message) {
     StringBuilder stringBuilder = new StringBuilder();
-    file1.forEach(part -> {
-      stringBuilder.append(getStrFromPart(part));
-    });
+    file1.forEach(part -> stringBuilder.append(getStrFromPart(part)));
     for (int i = 0; i < file2.length; i++) {
       stringBuilder.append(getStrFromPart(file2[i]));
     }
@@ -141,7 +124,7 @@
   private static String getStrFromPart(Part file1) {
     String result;
     try (InputStream is1 = file1.getInputStream()) {
-      result = IOUtils.toString(is1, "utf-8");
+      result = IOUtils.toString(is1, StandardCharsets.UTF_8);
       LOGGER.info("get str from part {}={}={}", result, file1.getSubmittedFileName(), file1.getName());
     } catch (IOException e) {
       result = "e:" + e.getMessage();
diff --git a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/UploadSpringmvcSchema.java b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/UploadSpringmvcSchema.java
index ff29bfc..2f0eaa7 100644
--- a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/UploadSpringmvcSchema.java
+++ b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/UploadSpringmvcSchema.java
@@ -61,13 +61,6 @@
     return _fileUpload(file1) + name;
   }
 
-//  @RequestMapping(path = "/uploadArrayList", method = RequestMethod.POST, produces = MediaType.TEXT_PLAIN_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
-//  public String fileUploadArrayList(@RequestPart(name = "file1") ArrayList<MultipartFile> file1,
-//      @RequestPart(name = "file2") ArrayList<MultipartFile> file2, @RequestAttribute("name") String name) {
-//    file1.addAll(file2);
-//    return _fileUpload(file1) + name;
-//  }
-
   @RequestMapping(path = "/uploadWithoutAnnotation", method = RequestMethod.POST, produces = MediaType.TEXT_PLAIN_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
   public String uploadWithoutAnnotation(MultipartFile file1, MultipartFile file2,
       @RequestAttribute("name") String name) {
diff --git a/pom.xml b/pom.xml
index 1dfb7e9..d520646 100644
--- a/pom.xml
+++ b/pom.xml
@@ -186,6 +186,7 @@
         <artifactId>maven-checkstyle-plugin</artifactId>
         <configuration>
           <configLocation>ci/checkstyle/checkstyle.xml</configLocation>
+          <suppressionsLocation>ci/checkstyle/suppressions.xml</suppressionsLocation>
           <includeTestSourceDirectory>true</includeTestSourceDirectory>
         </configuration>
       </plugin>
diff --git a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/Converter.java b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/Converter.java
index 94d61d0..9bd98d4 100644
--- a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/Converter.java
+++ b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/Converter.java
@@ -23,9 +23,9 @@
 import io.swagger.models.Swagger;
 
 public interface Converter {
-  static final JavaType OBJECT_JAVA_TYPE = TypeFactory.defaultInstance().constructType(Object.class);
+  JavaType OBJECT_JAVA_TYPE = TypeFactory.defaultInstance().constructType(Object.class);
 
-  static final JavaType STRING_JAVA_TYPE = TypeFactory.defaultInstance().constructType(String.class);
+  JavaType STRING_JAVA_TYPE = TypeFactory.defaultInstance().constructType(String.class);
 
   // def can be property or model
   // def can not be null
diff --git a/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/InvalidType.java b/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/InvalidType.java
index 67e44f7..b8d2223 100644
--- a/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/InvalidType.java
+++ b/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/InvalidType.java
@@ -21,7 +21,7 @@
 import java.util.Set;
 
 public class InvalidType {
-  public static interface InvalidIntf {
+  public interface InvalidIntf {
 
   }
 
diff --git a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/extension/ProducerInvokeExtension.java b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/extension/ProducerInvokeExtension.java
index 370b3d1..2aa33a7 100644
--- a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/extension/ProducerInvokeExtension.java
+++ b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/extension/ProducerInvokeExtension.java
@@ -24,7 +24,7 @@
  */
 public interface ProducerInvokeExtension {
 
-  public int getOrder();
+  int getOrder();
 
   ///Invoked before the method execution to handle the required checks before method invocation.
   <T> void beforeMethodInvoke(SwaggerInvocation invocation, SwaggerProducerOperation producerOperation,