You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@dubbo.apache.org by GitBox <gi...@apache.org> on 2018/04/21 06:20:11 UTC

[GitHub] ralf0131 closed pull request #1553: add missing @Override to classes

ralf0131 closed pull request #1553: add missing @Override to classes
URL: https://github.com/apache/incubator-dubbo/pull/1553
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java
index 50653fed32..32c6c9ec30 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java
@@ -44,10 +44,12 @@ public static void main(String[] args) {
         System.out.println(URL.encode("timeout=100"));
     }
 
+    @Override
     public URL getUrl() {
         return configuratorUrl;
     }
 
+    @Override
     public URL configure(URL url) {
         if (configuratorUrl == null || configuratorUrl.getHost() == null
                 || url == null || url.getHost() == null) {
@@ -107,6 +109,7 @@ private URL configureIfMatch(String host, URL url) {
      * @param o
      * @return
      */
+    @Override
     public int compareTo(Configurator o) {
         if (o == null) {
             return -1;
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfigurator.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfigurator.java
index 1a62a969af..d796df4859 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfigurator.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfigurator.java
@@ -29,6 +29,7 @@ public AbsentConfigurator(URL url) {
         super(url);
     }
 
+    @Override
     public URL doConfigure(URL currentUrl, URL configUrl) {
         return currentUrl.addParametersIfAbsent(configUrl.getParameters());
     }
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorFactory.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorFactory.java
index fe3fa6e840..fbe8e981cf 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorFactory.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorFactory.java
@@ -26,6 +26,7 @@
  */
 public class AbsentConfiguratorFactory implements ConfiguratorFactory {
 
+    @Override
     public Configurator getConfigurator(URL url) {
         return new AbsentConfigurator(url);
     }
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfigurator.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfigurator.java
index 5286bfaa0c..f8c7ee8d98 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfigurator.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfigurator.java
@@ -29,6 +29,7 @@ public OverrideConfigurator(URL url) {
         super(url);
     }
 
+    @Override
     public URL doConfigure(URL currentUrl, URL configUrl) {
         return currentUrl.addParameters(configUrl.getParameters());
     }
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorFactory.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorFactory.java
index 75b3e056f7..fc648a727b 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorFactory.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorFactory.java
@@ -26,6 +26,7 @@
  */
 public class OverrideConfiguratorFactory implements ConfiguratorFactory {
 
+    @Override
     public Configurator getConfigurator(URL url) {
         return new OverrideConfigurator(url);
     }
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/directory/AbstractDirectory.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/directory/AbstractDirectory.java
index db787747f5..6934069ee9 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/directory/AbstractDirectory.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/directory/AbstractDirectory.java
@@ -66,6 +66,7 @@ public AbstractDirectory(URL url, URL consumerUrl, List<Router> routers) {
         setRouters(routers);
     }
 
+    @Override
     public List<Invoker<T>> list(Invocation invocation) throws RpcException {
         if (destroyed) {
             throw new RpcException("Directory already destroyed .url: " + getUrl());
@@ -86,6 +87,7 @@ public AbstractDirectory(URL url, URL consumerUrl, List<Router> routers) {
         return invokers;
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
@@ -121,10 +123,11 @@ public boolean isDestroyed() {
         return destroyed;
     }
 
+    @Override
     public void destroy() {
         destroyed = true;
     }
 
     protected abstract List<Invoker<T>> doList(Invocation invocation) throws RpcException;
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/directory/StaticDirectory.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/directory/StaticDirectory.java
index a8563b643c..ae64aa832b 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/directory/StaticDirectory.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/directory/StaticDirectory.java
@@ -51,10 +51,12 @@ public StaticDirectory(URL url, List<Invoker<T>> invokers, List<Router> routers)
         this.invokers = invokers;
     }
 
+    @Override
     public Class<T> getInterface() {
         return invokers.get(0).getInterface();
     }
 
+    @Override
     public boolean isAvailable() {
         if (isDestroyed()) {
             return false;
@@ -67,6 +69,7 @@ public boolean isAvailable() {
         return false;
     }
 
+    @Override
     public void destroy() {
         if (isDestroyed()) {
             return;
@@ -84,4 +87,4 @@ public void destroy() {
         return invokers;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/AbstractLoadBalance.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/AbstractLoadBalance.java
index 74db7bcd18..4e3ecec27e 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/AbstractLoadBalance.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/AbstractLoadBalance.java
@@ -35,6 +35,7 @@ static int calculateWarmupWeight(int uptime, int warmup, int weight) {
         return ww < 1 ? 1 : (ww > weight ? weight : ww);
     }
 
+    @Override
     public <T> Invoker<T> select(List<Invoker<T>> invokers, URL url, Invocation invocation) {
         if (invokers == null || invokers.isEmpty())
             return null;
@@ -60,4 +61,4 @@ protected int getWeight(Invoker<?> invoker, Invocation invocation) {
         return weight;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LeastActiveLoadBalance.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LeastActiveLoadBalance.java
index 0da2254ca6..aa6ec12c23 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LeastActiveLoadBalance.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LeastActiveLoadBalance.java
@@ -35,6 +35,7 @@
 
     private final Random random = new Random();
 
+    @Override
     protected <T> Invoker<T> doSelect(List<Invoker<T>> invokers, URL url, Invocation invocation) {
         int length = invokers.size(); // Number of invokers
         int leastActive = -1; // The least active value of all invokers
@@ -83,4 +84,4 @@
         // If all invokers have the same weight value or totalWeight=0, return evenly.
         return invokers.get(leastIndexs[random.nextInt(leastCount)]);
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RandomLoadBalance.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RandomLoadBalance.java
index 933428ba03..df2ff47d3f 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RandomLoadBalance.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RandomLoadBalance.java
@@ -33,6 +33,7 @@
 
     private final Random random = new Random();
 
+    @Override
     protected <T> Invoker<T> doSelect(List<Invoker<T>> invokers, URL url, Invocation invocation) {
         int length = invokers.size(); // Number of invokers
         int totalWeight = 0; // The sum of weights
@@ -60,4 +61,4 @@
         return invokers.get(random.nextInt(length));
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalance.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalance.java
index 1eccbf47c4..9d4d0267d6 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalance.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalance.java
@@ -37,6 +37,7 @@
 
     private final ConcurrentMap<String, AtomicPositiveInteger> sequences = new ConcurrentHashMap<String, AtomicPositiveInteger>();
 
+    @Override
     protected <T> Invoker<T> doSelect(List<Invoker<T>> invokers, URL url, Invocation invocation) {
         String key = invokers.get(0).getUrl().getServiceKey() + "." + invocation.getMethodName();
         int length = invokers.size(); // Number of invokers
@@ -99,4 +100,4 @@ public void decrement() {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ArrayMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ArrayMerger.java
index 873138974f..698a31556d 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ArrayMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ArrayMerger.java
@@ -24,6 +24,7 @@
 
     public static final ArrayMerger INSTANCE = new ArrayMerger();
 
+    @Override
     public Object[] merge(Object[]... others) {
         if (others.length == 0) {
             return null;
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/BooleanArrayMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/BooleanArrayMerger.java
index 105717b516..1b4c4b1ca4 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/BooleanArrayMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/BooleanArrayMerger.java
@@ -21,6 +21,7 @@
 
 public class BooleanArrayMerger implements Merger<boolean[]> {
 
+    @Override
     public boolean[] merge(boolean[]... items) {
         int totalLen = 0;
         for (boolean[] array : items) {
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ByteArrayMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ByteArrayMerger.java
index 2be2984ac1..7951b8d035 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ByteArrayMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ByteArrayMerger.java
@@ -21,6 +21,7 @@
 
 public class ByteArrayMerger implements Merger<byte[]> {
 
+    @Override
     public byte[] merge(byte[]... items) {
         int total = 0;
         for (byte[] array : items) {
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/CharArrayMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/CharArrayMerger.java
index 565c6c176a..b72c64aef1 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/CharArrayMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/CharArrayMerger.java
@@ -21,6 +21,7 @@
 
 public class CharArrayMerger implements Merger<char[]> {
 
+    @Override
     public char[] merge(char[]... items) {
         int total = 0;
         for (char[] array : items) {
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/DoubleArrayMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/DoubleArrayMerger.java
index 4bf5c68914..b249490034 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/DoubleArrayMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/DoubleArrayMerger.java
@@ -21,6 +21,7 @@
 
 public class DoubleArrayMerger implements Merger<double[]> {
 
+    @Override
     public double[] merge(double[]... items) {
         int total = 0;
         for (double[] array : items) {
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/FloatArrayMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/FloatArrayMerger.java
index 03dcf83615..5bf14cbc95 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/FloatArrayMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/FloatArrayMerger.java
@@ -21,6 +21,7 @@
 
 public class FloatArrayMerger implements Merger<float[]> {
 
+    @Override
     public float[] merge(float[]... items) {
         int total = 0;
         for (float[] array : items) {
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/IntArrayMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/IntArrayMerger.java
index 39fe0f5743..dc23767277 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/IntArrayMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/IntArrayMerger.java
@@ -21,6 +21,7 @@
 
 public class IntArrayMerger implements Merger<int[]> {
 
+    @Override
     public int[] merge(int[]... items) {
         int totalLen = 0;
         for (int[] item : items) {
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ListMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ListMerger.java
index abde290d49..bc61dae445 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ListMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ListMerger.java
@@ -24,6 +24,7 @@
 
 public class ListMerger implements Merger<List<?>> {
 
+    @Override
     public List<Object> merge(List<?>... items) {
         List<Object> result = new ArrayList<Object>();
         for (List<?> item : items) {
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/LongArrayMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/LongArrayMerger.java
index 35ce7ed5ac..a5ad107581 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/LongArrayMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/LongArrayMerger.java
@@ -21,6 +21,7 @@
 
 public class LongArrayMerger implements Merger<long[]> {
 
+    @Override
     public long[] merge(long[]... items) {
         int total = 0;
         for (long[] array : items) {
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/MapMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/MapMerger.java
index 5c9121cc50..b8affc99f7 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/MapMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/MapMerger.java
@@ -23,6 +23,7 @@
 
 public class MapMerger implements Merger<Map<?, ?>> {
 
+    @Override
     public Map<?, ?> merge(Map<?, ?>... items) {
         if (items.length == 0) {
             return null;
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/SetMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/SetMerger.java
index 836517396e..ec72bb803e 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/SetMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/SetMerger.java
@@ -23,6 +23,7 @@
 
 public class SetMerger implements Merger<Set<?>> {
 
+    @Override
     public Set<Object> merge(Set<?>... items) {
 
         Set<Object> result = new HashSet<Object>();
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ShortArrayMerger.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ShortArrayMerger.java
index 7834364f5a..77342fc83c 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ShortArrayMerger.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/merger/ShortArrayMerger.java
@@ -21,6 +21,7 @@
 
 public class ShortArrayMerger implements Merger<short[]> {
 
+    @Override
     public short[] merge(short[]... items) {
         int total = 0;
         for (short[] array : items) {
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/MockInvokersSelector.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/MockInvokersSelector.java
index 9239ce635e..d406f78da4 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/MockInvokersSelector.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/MockInvokersSelector.java
@@ -33,6 +33,7 @@
  */
 public class MockInvokersSelector implements Router {
 
+    @Override
     public <T> List<Invoker<T>> route(final List<Invoker<T>> invokers,
                                       URL url, final Invocation invocation) throws RpcException {
         if (invocation.getAttachments() == null) {
@@ -86,10 +87,12 @@ else if (Boolean.TRUE.toString().equalsIgnoreCase(value)) {
         return hasMockProvider;
     }
 
+    @Override
     public URL getUrl() {
         return null;
     }
 
+    @Override
     public int compareTo(Router o) {
         return 1;
     }
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouter.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouter.java
index 927849f4eb..05f1d7136d 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouter.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouter.java
@@ -142,6 +142,7 @@ else if (",".equals(separator)) { // Should be seperateed by ','
         return condition;
     }
 
+    @Override
     public <T> List<Invoker<T>> route(List<Invoker<T>> invokers, URL url, Invocation invocation)
             throws RpcException {
         if (invokers == null || invokers.isEmpty()) {
@@ -173,10 +174,12 @@ else if (",".equals(separator)) { // Should be seperateed by ','
         return invokers;
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     public int compareTo(Router o) {
         if (o == null || o.getClass() != ConditionRouter.class) {
             return 1;
@@ -266,4 +269,4 @@ private boolean isMatch(String value, URL param) {
             return false;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterFactory.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterFactory.java
index b34a0e1963..08ebb5787b 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterFactory.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterFactory.java
@@ -28,8 +28,9 @@
 
     public static final String NAME = "condition";
 
+    @Override
     public Router getRouter(URL url) {
         return new ConditionRouter(url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterFactory.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterFactory.java
index d78ca0bf19..b91f4f6c16 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterFactory.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterFactory.java
@@ -37,6 +37,7 @@ public void setRouterFactory(RouterFactory routerFactory) {
         this.routerFactory = routerFactory;
     }
 
+    @Override
     public Router getRouter(URL url) {
         try {
             // Transform File URL into Script Route URL, and Load
@@ -61,4 +62,4 @@ public Router getRouter(URL url) {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouter.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouter.java
index 7359e6ce6f..74938c6439 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouter.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouter.java
@@ -79,10 +79,12 @@ public ScriptRouter(URL url) {
         this.rule = rule;
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> List<Invoker<T>> route(List<Invoker<T>> invokers, URL url, Invocation invocation) throws RpcException {
         try {
@@ -112,6 +114,7 @@ public URL getUrl() {
         }
     }
 
+    @Override
     public int compareTo(Router o) {
         if (o == null || o.getClass() != ScriptRouter.class) {
             return 1;
@@ -120,4 +123,4 @@ public int compareTo(Router o) {
         return this.priority == c.priority ? rule.compareTo(c.rule) : (this.priority > c.priority ? 1 : -1);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterFactory.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterFactory.java
index 18a6c97205..2cda98edbe 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterFactory.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterFactory.java
@@ -37,8 +37,9 @@
 
     public static final String NAME = "script";
 
+    @Override
     public Router getRouter(URL url) {
         return new ScriptRouter(url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvoker.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvoker.java
index f2cd281ef8..68ed406f9c 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvoker.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvoker.java
@@ -64,14 +64,17 @@ public AbstractClusterInvoker(Directory<T> directory, URL url) {
         this.availablecheck = url.getParameter(Constants.CLUSTER_AVAILABLE_CHECK_KEY, Constants.DEFAULT_CLUSTER_AVAILABLE_CHECK);
     }
 
+    @Override
     public Class<T> getInterface() {
         return directory.getInterface();
     }
 
+    @Override
     public URL getUrl() {
         return directory.getUrl();
     }
 
+    @Override
     public boolean isAvailable() {
         Invoker<T> invoker = stickyInvoker;
         if (invoker != null) {
@@ -80,6 +83,7 @@ public boolean isAvailable() {
         return directory.isAvailable();
     }
 
+    @Override
     public void destroy() {
         if (destroyed.compareAndSet(false, true)) {
             directory.destroy();
@@ -221,6 +225,7 @@ public void destroy() {
         return null;
     }
 
+    @Override
     public Result invoke(final Invocation invocation) throws RpcException {
         checkWhetherDestroyed();
         LoadBalance loadbalance = null;
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AvailableCluster.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AvailableCluster.java
index 7c6c5f44b7..4040baca19 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AvailableCluster.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AvailableCluster.java
@@ -34,9 +34,11 @@
 
     public static final String NAME = "available";
 
+    @Override
     public <T> Invoker<T> join(Directory<T> directory) throws RpcException {
 
         return new AbstractClusterInvoker<T>(directory) {
+            @Override
             public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException {
                 for (Invoker<T> invoker : invokers) {
                     if (invoker.isAvailable()) {
@@ -49,4 +51,4 @@ public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBal
 
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AvailableClusterInvoker.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AvailableClusterInvoker.java
index d67958fe69..ff37f729e4 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AvailableClusterInvoker.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/AvailableClusterInvoker.java
@@ -35,6 +35,7 @@ public AvailableClusterInvoker(Directory<T> directory) {
         super(directory);
     }
 
+    @Override
     public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException {
         for (Invoker<T> invoker : invokers) {
             if (invoker.isAvailable()) {
@@ -44,4 +45,4 @@ public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBal
         throw new RpcException("No provider available in " + invokers);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/BroadcastCluster.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/BroadcastCluster.java
index 1e10f53cbf..598aa94ac4 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/BroadcastCluster.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/BroadcastCluster.java
@@ -27,8 +27,9 @@
  */
 public class BroadcastCluster implements Cluster {
 
+    @Override
     public <T> Invoker<T> join(Directory<T> directory) throws RpcException {
         return new BroadcastClusterInvoker<T>(directory);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/BroadcastClusterInvoker.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/BroadcastClusterInvoker.java
index da79ace74b..4771e6a7d3 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/BroadcastClusterInvoker.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/BroadcastClusterInvoker.java
@@ -40,6 +40,7 @@ public BroadcastClusterInvoker(Directory<T> directory) {
         super(directory);
     }
 
+    @Override
     @SuppressWarnings({"unchecked", "rawtypes"})
     public Result doInvoke(final Invocation invocation, List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException {
         checkInvokers(invokers, invocation);
@@ -63,4 +64,4 @@ public Result doInvoke(final Invocation invocation, List<Invoker<T>> invokers, L
         return result;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailbackCluster.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailbackCluster.java
index 13d0dc91e2..f188b4dc55 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailbackCluster.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailbackCluster.java
@@ -29,8 +29,9 @@
 
     public final static String NAME = "failback";
 
+    @Override
     public <T> Invoker<T> join(Directory<T> directory) throws RpcException {
         return new FailbackClusterInvoker<T>(directory);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvoker.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvoker.java
index acdd62db1b..17b50fff69 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvoker.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvoker.java
@@ -64,6 +64,7 @@ private void addFailed(Invocation invocation, AbstractClusterInvoker<?> router)
                 if (retryFuture == null) {
                     retryFuture = scheduledExecutorService.scheduleWithFixedDelay(new Runnable() {
 
+                        @Override
                         public void run() {
                             // collect retry statistics
                             try {
@@ -96,6 +97,7 @@ void retryFailed() {
         }
     }
 
+    @Override
     protected Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException {
         try {
             checkInvokers(invokers, invocation);
@@ -109,4 +111,4 @@ protected Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, Load
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailfastCluster.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailfastCluster.java
index f47c6022bc..a1e3dba97f 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailfastCluster.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailfastCluster.java
@@ -29,8 +29,9 @@
 
     public final static String NAME = "failfast";
 
+    @Override
     public <T> Invoker<T> join(Directory<T> directory) throws RpcException {
         return new FailfastClusterInvoker<T>(directory);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvoker.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvoker.java
index d1307be567..8616ef437f 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvoker.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvoker.java
@@ -40,6 +40,7 @@ public FailfastClusterInvoker(Directory<T> directory) {
         super(directory);
     }
 
+    @Override
     public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException {
         checkInvokers(invokers, invocation);
         Invoker<T> invoker = select(loadbalance, invocation, invokers, null);
@@ -52,4 +53,4 @@ public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBal
             throw new RpcException(e instanceof RpcException ? ((RpcException) e).getCode() : 0, "Failfast invoke providers " + invoker.getUrl() + " " + loadbalance.getClass().getSimpleName() + " select from all providers " + invokers + " for service " + getInterface().getName() + " method " + invocation.getMethodName() + " on consumer " + NetUtils.getLocalHost() + " use dubbo version " + Version.getVersion() + ", but no luck to perform the invocation. Last error is: " + e.getMessage(), e.getCause() != null ? e.getCause() : e);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailoverCluster.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailoverCluster.java
index 64d731f020..4dbfe1f17a 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailoverCluster.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailoverCluster.java
@@ -29,8 +29,9 @@
 
     public final static String NAME = "failover";
 
+    @Override
     public <T> Invoker<T> join(Directory<T> directory) throws RpcException {
         return new FailoverClusterInvoker<T>(directory);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailoverClusterInvoker.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailoverClusterInvoker.java
index 90a9a379fa..525f3d071f 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailoverClusterInvoker.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailoverClusterInvoker.java
@@ -49,6 +49,7 @@ public FailoverClusterInvoker(Directory<T> directory) {
         super(directory);
     }
 
+    @Override
     @SuppressWarnings({"unchecked", "rawtypes"})
     public Result doInvoke(Invocation invocation, final List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException {
         List<Invoker<T>> copyinvokers = invokers;
@@ -108,4 +109,4 @@ public Result doInvoke(Invocation invocation, final List<Invoker<T>> invokers, L
                 + (le != null ? le.getMessage() : ""), le != null && le.getCause() != null ? le.getCause() : le);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailsafeCluster.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailsafeCluster.java
index a085eb85cd..c406967050 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailsafeCluster.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailsafeCluster.java
@@ -29,8 +29,9 @@
 
     public final static String NAME = "failsafe";
 
+    @Override
     public <T> Invoker<T> join(Directory<T> directory) throws RpcException {
         return new FailsafeClusterInvoker<T>(directory);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailsafeClusterInvoker.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailsafeClusterInvoker.java
index bfdc80d018..069fa03dad 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailsafeClusterInvoker.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/FailsafeClusterInvoker.java
@@ -42,6 +42,7 @@ public FailsafeClusterInvoker(Directory<T> directory) {
         super(directory);
     }
 
+    @Override
     public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException {
         try {
             checkInvokers(invokers, invocation);
@@ -52,4 +53,4 @@ public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBal
             return new RpcResult(); // ignore
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/ForkingCluster.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/ForkingCluster.java
index e0da2966ea..6e02908f79 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/ForkingCluster.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/ForkingCluster.java
@@ -29,8 +29,9 @@
 
     public final static String NAME = "forking";
 
+    @Override
     public <T> Invoker<T> join(Directory<T> directory) throws RpcException {
         return new ForkingClusterInvoker<T>(directory);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvoker.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvoker.java
index 307d82a73c..dd6b90120f 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvoker.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvoker.java
@@ -49,6 +49,7 @@ public ForkingClusterInvoker(Directory<T> directory) {
         super(directory);
     }
 
+    @Override
     @SuppressWarnings({"unchecked", "rawtypes"})
     public Result doInvoke(final Invocation invocation, List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException {
         checkInvokers(invokers, invocation);
@@ -72,6 +73,7 @@ public Result doInvoke(final Invocation invocation, List<Invoker<T>> invokers, L
         final BlockingQueue<Object> ref = new LinkedBlockingQueue<Object>();
         for (final Invoker<T> invoker : selected) {
             executor.execute(new Runnable() {
+                @Override
                 public void run() {
                     try {
                         Result result = invoker.invoke(invocation);
@@ -96,4 +98,4 @@ public void run() {
             throw new RpcException("Failed to forking invoke provider " + selected + ", but no luck to perform the invocation. Last error is: " + e.getMessage(), e);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableCluster.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableCluster.java
index 7f9f05ae04..ec942b737d 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableCluster.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableCluster.java
@@ -25,6 +25,7 @@
 
     public static final String NAME = "mergeable";
 
+    @Override
     public <T> Invoker<T> join(Directory<T> directory) throws RpcException {
         return new MergeableClusterInvoker<T>(directory);
     }
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableClusterInvoker.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableClusterInvoker.java
index 62372108f8..efe033166e 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableClusterInvoker.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableClusterInvoker.java
@@ -57,6 +57,7 @@ public MergeableClusterInvoker(Directory<T> directory) {
         this.directory = directory;
     }
 
+    @Override
     @SuppressWarnings("rawtypes")
     public Result invoke(final Invocation invocation) throws RpcException {
         List<Invoker<T>> invokers = directory.list(invocation);
@@ -82,6 +83,7 @@ public Result invoke(final Invocation invocation) throws RpcException {
         Map<String, Future<Result>> results = new HashMap<String, Future<Result>>();
         for (final Invoker<T> invoker : invokers) {
             Future<Result> future = executor.submit(new Callable<Result>() {
+                @Override
                 public Result call() throws Exception {
                     return invoker.invoke(new RpcInvocation(invocation, invoker));
                 }
@@ -184,18 +186,22 @@ public Result call() throws Exception {
         return new RpcResult(result);
     }
 
+    @Override
     public Class<T> getInterface() {
         return directory.getInterface();
     }
 
+    @Override
     public URL getUrl() {
         return directory.getUrl();
     }
 
+    @Override
     public boolean isAvailable() {
         return directory.isAvailable();
     }
 
+    @Override
     public void destroy() {
         directory.destroy();
     }
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvoker.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvoker.java
index 0a038c7433..b440d45050 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvoker.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvoker.java
@@ -45,22 +45,27 @@ public MockClusterInvoker(Directory<T> directory, Invoker<T> invoker) {
         this.invoker = invoker;
     }
 
+    @Override
     public URL getUrl() {
         return directory.getUrl();
     }
 
+    @Override
     public boolean isAvailable() {
         return directory.isAvailable();
     }
 
+    @Override
     public void destroy() {
         this.invoker.destroy();
     }
 
+    @Override
     public Class<T> getInterface() {
         return directory.getInterface();
     }
 
+    @Override
     public Result invoke(Invocation invocation) throws RpcException {
         Result result = null;
 
diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterWrapper.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterWrapper.java
index b2b3488579..9692cbb524 100644
--- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterWrapper.java
+++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterWrapper.java
@@ -33,6 +33,7 @@ public MockClusterWrapper(Cluster cluster) {
         this.cluster = cluster;
     }
 
+    @Override
     public <T> Invoker<T> join(Directory<T> directory) throws RpcException {
         return new MockClusterInvoker<T>(directory,
                 this.cluster.join(directory));
diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/MockInvoker.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/MockInvoker.java
index cba7230b90..1f5926a41d 100644
--- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/MockInvoker.java
+++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/MockInvoker.java
@@ -38,6 +38,7 @@ public MockInvoker(boolean available) {
         this.available = available;
     }
 
+    @Override
     public Class<T> getInterface() {
         return null;
     }
@@ -46,6 +47,7 @@ public URL getUrl() {
         return url;
     }
 
+    @Override
     public boolean isAvailable() {
         return available;
     }
@@ -54,6 +56,7 @@ public Result invoke(Invocation invocation) throws RpcException {
         return null;
     }
 
+    @Override
     public void destroy() {
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java
index 901b84c1be..664dbc84ce 100644
--- a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java
+++ b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java
@@ -407,6 +407,7 @@ public void testTimeoutExceptionCode() {
         List<Invoker<DemoService>> invokers = new ArrayList<Invoker<DemoService>>();
         invokers.add(new Invoker<DemoService>() {
 
+            @Override
             public Class<DemoService> getInterface() {
                 return DemoService.class;
             }
@@ -415,6 +416,7 @@ public URL getUrl() {
                 return URL.valueOf("dubbo://" + NetUtils.getLocalHost() + ":20880/" + DemoService.class.getName());
             }
 
+            @Override
             public boolean isAvailable() {
                 return false;
             }
@@ -423,6 +425,7 @@ public Result invoke(Invocation invocation) throws RpcException {
                 throw new RpcException(RpcException.TIMEOUT_EXCEPTION, "test timeout");
             }
 
+            @Override
             public void destroy() {
             }
         });
@@ -470,4 +473,4 @@ public void testMockedInvokerSelect() {
 
     public static interface IHelloService {
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/Parameters.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/Parameters.java
index ec231304de..daea5b52e4 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/Parameters.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/Parameters.java
@@ -247,10 +247,12 @@ public boolean hasMethodParamter(String method, String key) {
         return value != null && value.length() > 0;
     }
 
+    @Override
     public boolean equals(Object o) {
         return parameters.equals(o);
     }
 
+    @Override
     public int hashCode() {
         return parameters.hashCode();
     }
@@ -260,4 +262,4 @@ public String toString() {
         return StringUtils.toQueryString(getParameters());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/URL.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/URL.java
index cb8e92b631..f96946db75 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/URL.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/URL.java
@@ -1080,6 +1080,7 @@ public String getRawParameter(String key) {
         return map;
     }
 
+    @Override
     public String toString() {
         if (string != null) {
             return string;
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/beanutil/JavaBeanDescriptor.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/beanutil/JavaBeanDescriptor.java
index ab6060663d..167905a1fa 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/beanutil/JavaBeanDescriptor.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/beanutil/JavaBeanDescriptor.java
@@ -184,6 +184,7 @@ public boolean containsProperty(Object propertyName) {
         return properties.containsKey(propertyName);
     }
 
+    @Override
     public Iterator<Map.Entry<Object, Object>> iterator() {
         return properties.entrySet().iterator();
     }
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/bytecode/Proxy.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/bytecode/Proxy.java
index f6761f715f..a7456e8a0e 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/bytecode/Proxy.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/bytecode/Proxy.java
@@ -39,11 +39,13 @@
 
 public abstract class Proxy {
     public static final InvocationHandler RETURN_NULL_INVOKER = new InvocationHandler() {
+        @Override
         public Object invoke(Object proxy, Method method, Object[] args) {
             return null;
         }
     };
     public static final InvocationHandler THROW_UNSUPPORTED_INVOKER = new InvocationHandler() {
+        @Override
         public Object invoke(Object proxy, Method method, Object[] args) {
             throw new UnsupportedOperationException("Method [" + ReflectUtils.getName(method) + "] unimplemented.");
         }
@@ -256,4 +258,4 @@ public Object newInstance() {
      * @return instance.
      */
     abstract public Object newInstance(InvocationHandler handler);
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/bytecode/Wrapper.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/bytecode/Wrapper.java
index 25ddddb412..0aafaba888 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/bytecode/Wrapper.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/bytecode/Wrapper.java
@@ -40,34 +40,42 @@
     private static final String[] EMPTY_STRING_ARRAY = new String[0];
     private static final String[] OBJECT_METHODS = new String[]{"getClass", "hashCode", "toString", "equals"};
     private static final Wrapper OBJECT_WRAPPER = new Wrapper() {
+        @Override
         public String[] getMethodNames() {
             return OBJECT_METHODS;
         }
 
+        @Override
         public String[] getDeclaredMethodNames() {
             return OBJECT_METHODS;
         }
 
+        @Override
         public String[] getPropertyNames() {
             return EMPTY_STRING_ARRAY;
         }
 
+        @Override
         public Class<?> getPropertyType(String pn) {
             return null;
         }
 
+        @Override
         public Object getPropertyValue(Object instance, String pn) throws NoSuchPropertyException {
             throw new NoSuchPropertyException("Property [" + pn + "] not found.");
         }
 
+        @Override
         public void setPropertyValue(Object instance, String pn, Object pv) throws NoSuchPropertyException {
             throw new NoSuchPropertyException("Property [" + pn + "] not found.");
         }
 
+        @Override
         public boolean hasProperty(String name) {
             return false;
         }
 
+        @Override
         public Object invokeMethod(Object instance, String mn, Class<?>[] types, Object[] args) throws NoSuchMethodException {
             if ("getClass".equals(mn)) return instance.getClass();
             if ("hashCode".equals(mn)) return instance.hashCode();
@@ -413,4 +421,4 @@ public boolean hasMethod(String name) {
      * @return return value.
      */
     abstract public Object invokeMethod(Object instance, String mn, Class<?>[] types, Object[] args) throws NoSuchMethodException, InvocationTargetException;
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/AbstractCompiler.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/AbstractCompiler.java
index b007244624..2e94b90c62 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/AbstractCompiler.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/AbstractCompiler.java
@@ -31,6 +31,7 @@
 
     private static final Pattern CLASS_PATTERN = Pattern.compile("class\\s+([$_a-zA-Z][$_a-zA-Z0-9]*)\\s+");
 
+    @Override
     public Class<?> compile(String code, ClassLoader classLoader) {
         code = code.trim();
         Matcher matcher = PACKAGE_PATTERN.matcher(code);
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/AdaptiveCompiler.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/AdaptiveCompiler.java
index a088256789..c8dcfb2e5e 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/AdaptiveCompiler.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/AdaptiveCompiler.java
@@ -33,6 +33,7 @@ public static void setDefaultCompiler(String compiler) {
         DEFAULT_COMPILER = compiler;
     }
 
+    @Override
     public Class<?> compile(String code, ClassLoader classLoader) {
         Compiler compiler;
         ExtensionLoader<Compiler> loader = ExtensionLoader.getExtensionLoader(Compiler.class);
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/JdkCompiler.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/JdkCompiler.java
index 461172d780..9a370a6bee 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/JdkCompiler.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/compiler/support/JdkCompiler.java
@@ -87,6 +87,7 @@ public JdkCompiler() {
             }
         }
         classLoader = AccessController.doPrivileged(new PrivilegedAction<ClassLoaderImpl>() {
+            @Override
             public ClassLoaderImpl run() {
                 return new ClassLoaderImpl(loader);
             }
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/factory/AdaptiveExtensionFactory.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/factory/AdaptiveExtensionFactory.java
index c9235bdddd..55bbf5b2e0 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/factory/AdaptiveExtensionFactory.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/factory/AdaptiveExtensionFactory.java
@@ -41,6 +41,7 @@ public AdaptiveExtensionFactory() {
         factories = Collections.unmodifiableList(list);
     }
 
+    @Override
     public <T> T getExtension(Class<T> type, String name) {
         for (ExtensionFactory factory : factories) {
             T extension = factory.getExtension(type, name);
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/factory/SpiExtensionFactory.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/factory/SpiExtensionFactory.java
index 0fc857ed50..f8d7ba5f02 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/factory/SpiExtensionFactory.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/factory/SpiExtensionFactory.java
@@ -25,6 +25,7 @@
  */
 public class SpiExtensionFactory implements ExtensionFactory {
 
+    @Override
     public <T> T getExtension(Class<T> type, String name) {
         if (type.isInterface() && type.isAnnotationPresent(SPI.class)) {
             ExtensionLoader<T> loader = ExtensionLoader.getExtensionLoader(type);
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/support/ActivateComparator.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/support/ActivateComparator.java
index 809e883d89..7cf7a1b371 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/support/ActivateComparator.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/support/ActivateComparator.java
@@ -29,6 +29,7 @@
 
     public static final Comparator<Object> COMPARATOR = new ActivateComparator();
 
+    @Override
     public int compare(Object o1, Object o2) {
         if (o1 == null && o2 == null) {
             return 0;
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/StreamUtils.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/StreamUtils.java
index 0b8536e86e..4c988d08ea 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/StreamUtils.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/StreamUtils.java
@@ -30,6 +30,7 @@ public static InputStream limitedInputStream(final InputStream is, final int lim
         return new InputStream() {
             private int mPosition = 0, mMark = 0, mLimit = Math.min(limit, is.available());
 
+            @Override
             public int read() throws IOException {
                 if (mPosition < mLimit) {
                     mPosition++;
@@ -38,6 +39,7 @@ public int read() throws IOException {
                 return -1;
             }
 
+            @Override
             public int read(byte b[], int off, int len) throws IOException {
                 if (b == null)
                     throw new NullPointerException();
@@ -59,6 +61,7 @@ public int read(byte b[], int off, int len) throws IOException {
                 return len;
             }
 
+            @Override
             public long skip(long len) throws IOException {
                 if (mPosition + len > mLimit)
                     len = mLimit - mPosition;
@@ -71,24 +74,29 @@ public long skip(long len) throws IOException {
                 return len;
             }
 
+            @Override
             public int available() {
                 return mLimit - mPosition;
             }
 
+            @Override
             public boolean markSupported() {
                 return is.markSupported();
             }
 
+            @Override
             public void mark(int readlimit) {
                 is.mark(readlimit);
                 mMark = mPosition;
             }
 
+            @Override
             public void reset() throws IOException {
                 is.reset();
                 mPosition = mMark;
             }
 
+            @Override
             public void close() throws IOException {
             }
         };
@@ -203,4 +211,4 @@ public static void skipUnusedStream(InputStream is) throws IOException {
             is.skip(is.available());
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeByteArrayInputStream.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeByteArrayInputStream.java
index 556c76f203..8f30e9c965 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeByteArrayInputStream.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeByteArrayInputStream.java
@@ -41,10 +41,12 @@ public UnsafeByteArrayInputStream(byte buf[], int offset, int length) {
         mLimit = Math.min(offset + length, buf.length);
     }
 
+    @Override
     public int read() {
         return (mPosition < mLimit) ? (mData[mPosition++] & 0xff) : -1;
     }
 
+    @Override
     public int read(byte b[], int off, int len) {
         if (b == null)
             throw new NullPointerException();
@@ -61,6 +63,7 @@ public int read(byte b[], int off, int len) {
         return len;
     }
 
+    @Override
     public long skip(long len) {
         if (mPosition + len > mLimit)
             len = mLimit - mPosition;
@@ -70,22 +73,27 @@ public long skip(long len) {
         return len;
     }
 
+    @Override
     public int available() {
         return mLimit - mPosition;
     }
 
+    @Override
     public boolean markSupported() {
         return true;
     }
 
+    @Override
     public void mark(int readAheadLimit) {
         mMark = mPosition;
     }
 
+    @Override
     public void reset() {
         mPosition = mMark;
     }
 
+    @Override
     public void close() throws IOException {
     }
 
@@ -100,4 +108,4 @@ public void position(int newPosition) {
     public int size() {
         return mData == null ? 0 : mData.length;
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeByteArrayOutputStream.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeByteArrayOutputStream.java
index 1c1d0a697a..cdfc5ed9d4 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeByteArrayOutputStream.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeByteArrayOutputStream.java
@@ -39,6 +39,7 @@ public UnsafeByteArrayOutputStream(int size) {
         mBuffer = new byte[size];
     }
 
+    @Override
     public void write(int b) {
         int newcount = mCount + 1;
         if (newcount > mBuffer.length)
@@ -47,6 +48,7 @@ public void write(int b) {
         mCount = newcount;
     }
 
+    @Override
     public void write(byte b[], int off, int len) {
         if ((off < 0) || (off > b.length) || (len < 0) || ((off + len) > b.length) || ((off + len) < 0))
             throw new IndexOutOfBoundsException();
@@ -79,6 +81,7 @@ public void writeTo(OutputStream out) throws IOException {
         out.write(mBuffer, 0, mCount);
     }
 
+    @Override
     public String toString() {
         return new String(mBuffer, 0, mCount);
     }
@@ -87,6 +90,7 @@ public String toString(String charset) throws UnsupportedEncodingException {
         return new String(mBuffer, 0, mCount, charset);
     }
 
+    @Override
     public void close() throws IOException {
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeStringReader.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeStringReader.java
index ac78050e1b..4c0e68bcff 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeStringReader.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeStringReader.java
@@ -61,6 +61,7 @@ public int read(char[] cs, int off, int len) throws IOException {
         return n;
     }
 
+    @Override
     public long skip(long ns) throws IOException {
         ensureOpen();
         if (mPosition >= mLimit)
@@ -72,6 +73,7 @@ public long skip(long ns) throws IOException {
         return n;
     }
 
+    @Override
     public boolean ready() throws IOException {
         ensureOpen();
         return true;
@@ -82,6 +84,7 @@ public boolean markSupported() {
         return true;
     }
 
+    @Override
     public void mark(int readAheadLimit) throws IOException {
         if (readAheadLimit < 0)
             throw new IllegalArgumentException("Read-ahead limit < 0");
@@ -90,6 +93,7 @@ public void mark(int readAheadLimit) throws IOException {
         mMark = mPosition;
     }
 
+    @Override
     public void reset() throws IOException {
         ensureOpen();
         mPosition = mMark;
@@ -104,4 +108,4 @@ private void ensureOpen() throws IOException {
         if (mString == null)
             throw new IOException("Stream closed");
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/GenericJSONConverter.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/GenericJSONConverter.java
index 362464a996..8a67d711ec 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/GenericJSONConverter.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/GenericJSONConverter.java
@@ -41,6 +41,7 @@
     static {
         // init encoder map.
         Encoder e = new Encoder() {
+            @Override
             public void encode(Object obj, JSONWriter jb) throws IOException {
                 jb.valueBoolean((Boolean) obj);
             }
@@ -49,6 +50,7 @@ public void encode(Object obj, JSONWriter jb) throws IOException {
         GlobalEncoderMap.put(Boolean.class, e);
 
         e = new Encoder() {
+            @Override
             public void encode(Object obj, JSONWriter jb) throws IOException {
                 jb.valueInt(((Number) obj).intValue());
             }
@@ -62,6 +64,7 @@ public void encode(Object obj, JSONWriter jb) throws IOException {
         GlobalEncoderMap.put(AtomicInteger.class, e);
 
         e = new Encoder() {
+            @Override
             public void encode(Object obj, JSONWriter jb) throws IOException {
                 jb.valueString(Character.toString((Character) obj));
             }
@@ -70,6 +73,7 @@ public void encode(Object obj, JSONWriter jb) throws IOException {
         GlobalEncoderMap.put(Character.class, e);
 
         e = new Encoder() {
+            @Override
             public void encode(Object obj, JSONWriter jb) throws IOException {
                 jb.valueLong(((Number) obj).longValue());
             }
@@ -80,6 +84,7 @@ public void encode(Object obj, JSONWriter jb) throws IOException {
         GlobalEncoderMap.put(BigInteger.class, e);
 
         e = new Encoder() {
+            @Override
             public void encode(Object obj, JSONWriter jb) throws IOException {
                 jb.valueFloat(((Number) obj).floatValue());
             }
@@ -88,6 +93,7 @@ public void encode(Object obj, JSONWriter jb) throws IOException {
         GlobalEncoderMap.put(Float.class, e);
 
         e = new Encoder() {
+            @Override
             public void encode(Object obj, JSONWriter jb) throws IOException {
                 jb.valueDouble(((Number) obj).doubleValue());
             }
@@ -97,6 +103,7 @@ public void encode(Object obj, JSONWriter jb) throws IOException {
         GlobalEncoderMap.put(BigDecimal.class, e);
 
         e = new Encoder() {
+            @Override
             public void encode(Object obj, JSONWriter jb) throws IOException {
                 jb.valueString(obj.toString());
             }
@@ -106,6 +113,7 @@ public void encode(Object obj, JSONWriter jb) throws IOException {
         GlobalEncoderMap.put(StringBuffer.class, e);
 
         e = new Encoder() {
+            @Override
             public void encode(Object obj, JSONWriter jb) throws IOException {
                 jb.valueString(Bytes.bytes2base64((byte[]) obj));
             }
@@ -113,6 +121,7 @@ public void encode(Object obj, JSONWriter jb) throws IOException {
         GlobalEncoderMap.put(byte[].class, e);
 
         e = new Encoder() {
+            @Override
             public void encode(Object obj, JSONWriter jb) throws IOException {
                 jb.valueString(new SimpleDateFormat(DATE_FORMAT).format((Date) obj));
             }
@@ -121,6 +130,7 @@ public void encode(Object obj, JSONWriter jb) throws IOException {
 
         // init decoder map.
         Decoder d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 return jv.toString();
             }
@@ -128,6 +138,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(String.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Boolean) return ((Boolean) jv).booleanValue();
                 return false;
@@ -136,6 +147,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(boolean.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Boolean) return (Boolean) jv;
                 return (Boolean) null;
@@ -144,6 +156,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(Boolean.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof String && ((String) jv).length() > 0) return ((String) jv).charAt(0);
                 return (char) 0;
@@ -152,6 +165,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(char.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof String && ((String) jv).length() > 0) return ((String) jv).charAt(0);
                 return (Character) null;
@@ -160,6 +174,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(Character.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return ((Number) jv).intValue();
                 return 0;
@@ -168,6 +183,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(int.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return Integer.valueOf(((Number) jv).intValue());
                 return (Integer) null;
@@ -176,6 +192,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(Integer.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return ((Number) jv).shortValue();
                 return (short) 0;
@@ -184,6 +201,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(short.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return Short.valueOf(((Number) jv).shortValue());
                 return (Short) null;
@@ -192,6 +210,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(Short.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return ((Number) jv).longValue();
                 return (long) 0;
@@ -200,6 +219,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(long.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return Long.valueOf(((Number) jv).longValue());
                 return (Long) null;
@@ -208,6 +228,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(Long.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return ((Number) jv).floatValue();
                 return (float) 0;
@@ -216,6 +237,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(float.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return new Float(((Number) jv).floatValue());
                 return (Float) null;
@@ -224,6 +246,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(Float.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return ((Number) jv).doubleValue();
                 return (double) 0;
@@ -232,6 +255,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(double.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return new Double(((Number) jv).doubleValue());
                 return (Double) null;
@@ -240,6 +264,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(Double.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return ((Number) jv).byteValue();
                 return (byte) 0;
@@ -248,6 +273,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(byte.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) {
                 if (jv instanceof Number) return Byte.valueOf(((Number) jv).byteValue());
                 return (Byte) null;
@@ -256,6 +282,7 @@ public Object decode(Object jv) {
         GlobalDecoderMap.put(Byte.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) throws IOException {
                 if (jv instanceof String) return Bytes.base642bytes((String) jv);
                 return (byte[]) null;
@@ -264,6 +291,7 @@ public Object decode(Object jv) throws IOException {
         GlobalDecoderMap.put(byte[].class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) throws IOException {
                 return new StringBuilder(jv.toString());
             }
@@ -271,6 +299,7 @@ public Object decode(Object jv) throws IOException {
         GlobalDecoderMap.put(StringBuilder.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) throws IOException {
                 return new StringBuffer(jv.toString());
             }
@@ -278,6 +307,7 @@ public Object decode(Object jv) throws IOException {
         GlobalDecoderMap.put(StringBuffer.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) throws IOException {
                 if (jv instanceof Number) return BigInteger.valueOf(((Number) jv).longValue());
                 return (BigInteger) null;
@@ -286,6 +316,7 @@ public Object decode(Object jv) throws IOException {
         GlobalDecoderMap.put(BigInteger.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) throws IOException {
                 if (jv instanceof Number) return BigDecimal.valueOf(((Number) jv).doubleValue());
                 return (BigDecimal) null;
@@ -294,6 +325,7 @@ public Object decode(Object jv) throws IOException {
         GlobalDecoderMap.put(BigDecimal.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) throws IOException {
                 if (jv instanceof Number) return new AtomicInteger(((Number) jv).intValue());
                 return (AtomicInteger) null;
@@ -302,6 +334,7 @@ public Object decode(Object jv) throws IOException {
         GlobalDecoderMap.put(AtomicInteger.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) throws IOException {
                 if (jv instanceof Number) return new AtomicLong(((Number) jv).longValue());
                 return (AtomicLong) null;
@@ -310,6 +343,7 @@ public Object decode(Object jv) throws IOException {
         GlobalDecoderMap.put(AtomicLong.class, d);
 
         d = new Decoder() {
+            @Override
             public Object decode(Object jv) throws IOException {
                 if (jv instanceof String) {
                     try {
@@ -326,6 +360,7 @@ public Object decode(Object jv) throws IOException {
         GlobalDecoderMap.put(Date.class, d);
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public void writeValue(Object obj, JSONWriter jb, boolean writeClass) throws IOException {
         if (obj == null) {
@@ -403,6 +438,7 @@ public void writeValue(Object obj, JSONWriter jb, boolean writeClass) throws IOE
         }
     }
 
+    @Override
     @SuppressWarnings({"unchecked", "rawtypes"})
     public Object readValue(Class<?> c, Object jv) throws IOException {
         if (jv == null) {
@@ -425,4 +461,4 @@ public Object readValue(Class<?> c, Object jv) throws IOException {
     protected interface Decoder {
         Object decode(Object jv) throws IOException;
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/J2oVisitor.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/J2oVisitor.java
index f0b3d10a33..f0a8b29329 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/J2oVisitor.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/J2oVisitor.java
@@ -196,9 +196,11 @@ private static String name(Class<?>[] types) {
         return sb.toString();
     }
 
+    @Override
     public void begin() {
     }
 
+    @Override
     public Object end(Object obj, boolean isValue) throws ParseException {
         mStack.clear();
         try {
@@ -208,6 +210,7 @@ public Object end(Object obj, boolean isValue) throws ParseException {
         }
     }
 
+    @Override
     public void objectBegin() throws ParseException {
         mStack.push(mValue);
         mStack.push(mType);
@@ -238,6 +241,7 @@ public void objectBegin() throws ParseException {
         }
     }
 
+    @Override
     public Object objectEnd(int count) {
         Object ret = mValue;
         mWrapper = (Wrapper) mStack.pop();
@@ -246,11 +250,13 @@ public Object objectEnd(int count) {
         return ret;
     }
 
+    @Override
     public void objectItem(String name) {
         mStack.push(name); // push name.
         mType = (mWrapper == null ? Object.class : mWrapper.getPropertyType(name));
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public void objectItemValue(Object obj, boolean isValue) throws ParseException {
         String name = (String) mStack.pop();  // pop name.
@@ -284,6 +290,7 @@ public void objectItemValue(Object obj, boolean isValue) throws ParseException {
         }
     }
 
+    @Override
     public void arrayBegin() throws ParseException {
         mStack.push(mType);
 
@@ -295,6 +302,7 @@ else if (mType == Object.class || Collection.class.isAssignableFrom(mType))
             throw new ParseException("Convert error, can not load json array data into class [" + mType.getName() + "].");
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public Object arrayEnd(int count) throws ParseException {
         Object ret;
@@ -331,6 +339,7 @@ public Object arrayEnd(int count) throws ParseException {
         return ret;
     }
 
+    @Override
     public void arrayItem(int index) throws ParseException {
         if (mTypes != null && mStack.size() == index + 1) {
             if (index < mTypes.length)
@@ -340,6 +349,7 @@ public void arrayItem(int index) throws ParseException {
         }
     }
 
+    @Override
     public void arrayItemValue(int index, Object obj, boolean isValue) throws ParseException {
         if (isValue && obj != null) {
             try {
@@ -351,4 +361,4 @@ public void arrayItemValue(int index, Object obj, boolean isValue) throws ParseE
 
         mStack.push(obj);
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/JSONArray.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/JSONArray.java
index 6003664a76..42edfb4ed5 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/JSONArray.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/JSONArray.java
@@ -168,6 +168,7 @@ public void addAll(Collection<?> c) {
      * @param jc json converter
      * @param jb json builder.
      */
+    @Override
     public void writeJSON(JSONConverter jc, JSONWriter jb, boolean writeClass) throws IOException {
         jb.arrayBegin();
         for (Object item : mArray) {
@@ -178,4 +179,4 @@ public void writeJSON(JSONConverter jc, JSONWriter jb, boolean writeClass) throw
         }
         jb.arrayEnd();
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/JSONObject.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/JSONObject.java
index bfa32b3873..68757fc162 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/JSONObject.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/json/JSONObject.java
@@ -187,6 +187,7 @@ public void putAll(Map<String, Object> map) {
      * @param jc json converter.
      * @param jb json builder.
      */
+    @Override
     public void writeJSON(JSONConverter jc, JSONWriter jb, boolean writeClass) throws IOException {
         String key;
         Object value;
@@ -202,4 +203,4 @@ public void writeJSON(JSONConverter jc, JSONWriter jb, boolean writeClass) throw
         }
         jb.objectEnd();
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jcl/JclLogger.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jcl/JclLogger.java
index 8d8625aada..428fd3d405 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jcl/JclLogger.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jcl/JclLogger.java
@@ -35,82 +35,102 @@ public JclLogger(Log logger) {
         this.logger = logger;
     }
 
+    @Override
     public void trace(String msg) {
         logger.trace(msg);
     }
 
+    @Override
     public void trace(Throwable e) {
         logger.trace(e);
     }
 
+    @Override
     public void trace(String msg, Throwable e) {
         logger.trace(msg, e);
     }
 
+    @Override
     public void debug(String msg) {
         logger.debug(msg);
     }
 
+    @Override
     public void debug(Throwable e) {
         logger.debug(e);
     }
 
+    @Override
     public void debug(String msg, Throwable e) {
         logger.debug(msg, e);
     }
 
+    @Override
     public void info(String msg) {
         logger.info(msg);
     }
 
+    @Override
     public void info(Throwable e) {
         logger.info(e);
     }
 
+    @Override
     public void info(String msg, Throwable e) {
         logger.info(msg, e);
     }
 
+    @Override
     public void warn(String msg) {
         logger.warn(msg);
     }
 
+    @Override
     public void warn(Throwable e) {
         logger.warn(e);
     }
 
+    @Override
     public void warn(String msg, Throwable e) {
         logger.warn(msg, e);
     }
 
+    @Override
     public void error(String msg) {
         logger.error(msg);
     }
 
+    @Override
     public void error(Throwable e) {
         logger.error(e);
     }
 
+    @Override
     public void error(String msg, Throwable e) {
         logger.error(msg, e);
     }
 
+    @Override
     public boolean isTraceEnabled() {
         return logger.isTraceEnabled();
     }
 
+    @Override
     public boolean isDebugEnabled() {
         return logger.isDebugEnabled();
     }
 
+    @Override
     public boolean isInfoEnabled() {
         return logger.isInfoEnabled();
     }
 
+    @Override
     public boolean isWarnEnabled() {
         return logger.isWarnEnabled();
     }
 
+    @Override
     public boolean isErrorEnabled() {
         return logger.isErrorEnabled();
     }
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jcl/JclLoggerAdapter.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jcl/JclLoggerAdapter.java
index 5c0738081b..52a062ee75 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jcl/JclLoggerAdapter.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jcl/JclLoggerAdapter.java
@@ -28,26 +28,32 @@
     private Level level;
     private File file;
 
+    @Override
     public Logger getLogger(String key) {
         return new JclLogger(LogFactory.getLog(key));
     }
 
+    @Override
     public Logger getLogger(Class<?> key) {
         return new JclLogger(LogFactory.getLog(key));
     }
 
+    @Override
     public Level getLevel() {
         return level;
     }
 
+    @Override
     public void setLevel(Level level) {
         this.level = level;
     }
 
+    @Override
     public File getFile() {
         return file;
     }
 
+    @Override
     public void setFile(File file) {
         this.file = file;
     }
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jdk/JdkLogger.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jdk/JdkLogger.java
index 71c8f2777b..547f87fb87 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jdk/JdkLogger.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jdk/JdkLogger.java
@@ -28,84 +28,104 @@ public JdkLogger(java.util.logging.Logger logger) {
         this.logger = logger;
     }
 
+    @Override
     public void trace(String msg) {
         logger.log(Level.FINER, msg);
     }
 
+    @Override
     public void trace(Throwable e) {
         logger.log(Level.FINER, e.getMessage(), e);
     }
 
+    @Override
     public void trace(String msg, Throwable e) {
         logger.log(Level.FINER, msg, e);
     }
 
+    @Override
     public void debug(String msg) {
         logger.log(Level.FINE, msg);
     }
 
+    @Override
     public void debug(Throwable e) {
         logger.log(Level.FINE, e.getMessage(), e);
     }
 
+    @Override
     public void debug(String msg, Throwable e) {
         logger.log(Level.FINE, msg, e);
     }
 
+    @Override
     public void info(String msg) {
         logger.log(Level.INFO, msg);
     }
 
+    @Override
     public void info(String msg, Throwable e) {
         logger.log(Level.INFO, msg, e);
     }
 
+    @Override
     public void warn(String msg) {
         logger.log(Level.WARNING, msg);
     }
 
+    @Override
     public void warn(String msg, Throwable e) {
         logger.log(Level.WARNING, msg, e);
     }
 
+    @Override
     public void error(String msg) {
         logger.log(Level.SEVERE, msg);
     }
 
+    @Override
     public void error(String msg, Throwable e) {
         logger.log(Level.SEVERE, msg, e);
     }
 
+    @Override
     public void error(Throwable e) {
         logger.log(Level.SEVERE, e.getMessage(), e);
     }
 
+    @Override
     public void info(Throwable e) {
         logger.log(Level.INFO, e.getMessage(), e);
     }
 
+    @Override
     public void warn(Throwable e) {
         logger.log(Level.WARNING, e.getMessage(), e);
     }
 
+    @Override
     public boolean isTraceEnabled() {
         return logger.isLoggable(Level.FINER);
     }
 
+    @Override
     public boolean isDebugEnabled() {
         return logger.isLoggable(Level.FINE);
     }
 
+    @Override
     public boolean isInfoEnabled() {
         return logger.isLoggable(Level.INFO);
     }
 
+    @Override
     public boolean isWarnEnabled() {
         return logger.isLoggable(Level.WARNING);
     }
 
+    @Override
     public boolean isErrorEnabled() {
         return logger.isLoggable(Level.SEVERE);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jdk/JdkLoggerAdapter.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jdk/JdkLoggerAdapter.java
index 9c4cb552bc..35c0e4ce79 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jdk/JdkLoggerAdapter.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/jdk/JdkLoggerAdapter.java
@@ -94,28 +94,34 @@ private static Level fromJdkLevel(java.util.logging.Level level) {
         return Level.OFF;
     }
 
+    @Override
     public Logger getLogger(Class<?> key) {
         return new JdkLogger(java.util.logging.Logger.getLogger(key == null ? "" : key.getName()));
     }
 
+    @Override
     public Logger getLogger(String key) {
         return new JdkLogger(java.util.logging.Logger.getLogger(key));
     }
 
+    @Override
     public Level getLevel() {
         return fromJdkLevel(java.util.logging.Logger.getLogger(GLOBAL_LOGGER_NAME).getLevel());
     }
 
+    @Override
     public void setLevel(Level level) {
         java.util.logging.Logger.getLogger(GLOBAL_LOGGER_NAME).setLevel(toJdkLevel(level));
     }
 
+    @Override
     public File getFile() {
         return file;
     }
 
+    @Override
     public void setFile(File file) {
 
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/log4j/Log4jLogger.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/log4j/Log4jLogger.java
index e92fb1a108..aceb8ccf77 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/log4j/Log4jLogger.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/log4j/Log4jLogger.java
@@ -31,84 +31,104 @@ public Log4jLogger(org.apache.log4j.Logger logger) {
         this.logger = logger;
     }
 
+    @Override
     public void trace(String msg) {
         logger.log(FQCN, Level.TRACE, msg, null);
     }
 
+    @Override
     public void trace(Throwable e) {
         logger.log(FQCN, Level.TRACE, e == null ? null : e.getMessage(), e);
     }
 
+    @Override
     public void trace(String msg, Throwable e) {
         logger.log(FQCN, Level.TRACE, msg, e);
     }
 
+    @Override
     public void debug(String msg) {
         logger.log(FQCN, Level.DEBUG, msg, null);
     }
 
+    @Override
     public void debug(Throwable e) {
         logger.log(FQCN, Level.DEBUG, e == null ? null : e.getMessage(), e);
     }
 
+    @Override
     public void debug(String msg, Throwable e) {
         logger.log(FQCN, Level.DEBUG, msg, e);
     }
 
+    @Override
     public void info(String msg) {
         logger.log(FQCN, Level.INFO, msg, null);
     }
 
+    @Override
     public void info(Throwable e) {
         logger.log(FQCN, Level.INFO, e == null ? null : e.getMessage(), e);
     }
 
+    @Override
     public void info(String msg, Throwable e) {
         logger.log(FQCN, Level.INFO, msg, e);
     }
 
+    @Override
     public void warn(String msg) {
         logger.log(FQCN, Level.WARN, msg, null);
     }
 
+    @Override
     public void warn(Throwable e) {
         logger.log(FQCN, Level.WARN, e == null ? null : e.getMessage(), e);
     }
 
+    @Override
     public void warn(String msg, Throwable e) {
         logger.log(FQCN, Level.WARN, msg, e);
     }
 
+    @Override
     public void error(String msg) {
         logger.log(FQCN, Level.ERROR, msg, null);
     }
 
+    @Override
     public void error(Throwable e) {
         logger.log(FQCN, Level.ERROR, e == null ? null : e.getMessage(), e);
     }
 
+    @Override
     public void error(String msg, Throwable e) {
         logger.log(FQCN, Level.ERROR, msg, e);
     }
 
+    @Override
     public boolean isTraceEnabled() {
         return logger.isTraceEnabled();
     }
 
+    @Override
     public boolean isDebugEnabled() {
         return logger.isDebugEnabled();
     }
 
+    @Override
     public boolean isInfoEnabled() {
         return logger.isInfoEnabled();
     }
 
+    @Override
     public boolean isWarnEnabled() {
         return logger.isEnabledFor(Level.WARN);
     }
 
+    @Override
     public boolean isErrorEnabled() {
         return logger.isEnabledFor(Level.ERROR);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/log4j/Log4jLoggerAdapter.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/log4j/Log4jLoggerAdapter.java
index f051a093cf..3877db6741 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/log4j/Log4jLoggerAdapter.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/log4j/Log4jLoggerAdapter.java
@@ -87,28 +87,34 @@ private static Level fromLog4jLevel(org.apache.log4j.Level level) {
         return Level.OFF;
     }
 
+    @Override
     public Logger getLogger(Class<?> key) {
         return new Log4jLogger(LogManager.getLogger(key));
     }
 
+    @Override
     public Logger getLogger(String key) {
         return new Log4jLogger(LogManager.getLogger(key));
     }
 
+    @Override
     public Level getLevel() {
         return fromLog4jLevel(LogManager.getRootLogger().getLevel());
     }
 
+    @Override
     public void setLevel(Level level) {
         LogManager.getRootLogger().setLevel(toLog4jLevel(level));
     }
 
+    @Override
     public File getFile() {
         return file;
     }
 
+    @Override
     public void setFile(File file) {
 
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/slf4j/Slf4jLogger.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/slf4j/Slf4jLogger.java
index 563deea4fe..f41032bead 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/slf4j/Slf4jLogger.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/slf4j/Slf4jLogger.java
@@ -42,6 +42,7 @@ public Slf4jLogger(org.slf4j.Logger logger) {
         this.logger = logger;
     }
 
+    @Override
     public void trace(String msg) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.TRACE_INT, msg, null, null);
@@ -50,6 +51,7 @@ public void trace(String msg) {
         logger.trace(msg);
     }
 
+    @Override
     public void trace(Throwable e) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.TRACE_INT, e.getMessage(), null, e);
@@ -58,6 +60,7 @@ public void trace(Throwable e) {
         logger.trace(e.getMessage(), e);
     }
 
+    @Override
     public void trace(String msg, Throwable e) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.TRACE_INT, msg, null, e);
@@ -66,6 +69,7 @@ public void trace(String msg, Throwable e) {
         logger.trace(msg, e);
     }
 
+    @Override
     public void debug(String msg) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.DEBUG_INT, msg, null, null);
@@ -74,6 +78,7 @@ public void debug(String msg) {
         logger.debug(msg);
     }
 
+    @Override
     public void debug(Throwable e) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.DEBUG_INT, e.getMessage(), null, e);
@@ -82,6 +87,7 @@ public void debug(Throwable e) {
         logger.debug(e.getMessage(), e);
     }
 
+    @Override
     public void debug(String msg, Throwable e) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.DEBUG_INT, msg, null, e);
@@ -90,6 +96,7 @@ public void debug(String msg, Throwable e) {
         logger.debug(msg, e);
     }
 
+    @Override
     public void info(String msg) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.INFO_INT, msg, null, null);
@@ -98,6 +105,7 @@ public void info(String msg) {
         logger.info(msg);
     }
 
+    @Override
     public void info(Throwable e) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.INFO_INT, e.getMessage(), null, e);
@@ -106,6 +114,7 @@ public void info(Throwable e) {
         logger.info(e.getMessage(), e);
     }
 
+    @Override
     public void info(String msg, Throwable e) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.INFO_INT, msg, null, e);
@@ -114,6 +123,7 @@ public void info(String msg, Throwable e) {
         logger.info(msg, e);
     }
 
+    @Override
     public void warn(String msg) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.WARN_INT, msg, null, null);
@@ -122,6 +132,7 @@ public void warn(String msg) {
         logger.warn(msg);
     }
 
+    @Override
     public void warn(Throwable e) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.WARN_INT, e.getMessage(), null, e);
@@ -130,6 +141,7 @@ public void warn(Throwable e) {
         logger.warn(e.getMessage(), e);
     }
 
+    @Override
     public void warn(String msg, Throwable e) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.WARN_INT, msg, null, e);
@@ -138,6 +150,7 @@ public void warn(String msg, Throwable e) {
         logger.warn(msg, e);
     }
 
+    @Override
     public void error(String msg) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.ERROR_INT, msg, null, null);
@@ -146,6 +159,7 @@ public void error(String msg) {
         logger.error(msg);
     }
 
+    @Override
     public void error(Throwable e) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.ERROR_INT, e.getMessage(), null, e);
@@ -154,6 +168,7 @@ public void error(Throwable e) {
         logger.error(e.getMessage(), e);
     }
 
+    @Override
     public void error(String msg, Throwable e) {
         if (locationAwareLogger != null) {
             locationAwareLogger.log(null, FQCN, LocationAwareLogger.ERROR_INT, msg, null, e);
@@ -162,24 +177,29 @@ public void error(String msg, Throwable e) {
         logger.error(msg, e);
     }
 
+    @Override
     public boolean isTraceEnabled() {
         return logger.isTraceEnabled();
     }
 
+    @Override
     public boolean isDebugEnabled() {
         return logger.isDebugEnabled();
     }
 
+    @Override
     public boolean isInfoEnabled() {
         return logger.isInfoEnabled();
     }
 
+    @Override
     public boolean isWarnEnabled() {
         return logger.isWarnEnabled();
     }
 
+    @Override
     public boolean isErrorEnabled() {
         return logger.isErrorEnabled();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/slf4j/Slf4jLoggerAdapter.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/slf4j/Slf4jLoggerAdapter.java
index a9eb18af70..788920399f 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/slf4j/Slf4jLoggerAdapter.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/slf4j/Slf4jLoggerAdapter.java
@@ -27,26 +27,32 @@
     private Level level;
     private File file;
 
+    @Override
     public Logger getLogger(String key) {
         return new Slf4jLogger(org.slf4j.LoggerFactory.getLogger(key));
     }
 
+    @Override
     public Logger getLogger(Class<?> key) {
         return new Slf4jLogger(org.slf4j.LoggerFactory.getLogger(key));
     }
 
+    @Override
     public Level getLevel() {
         return level;
     }
 
+    @Override
     public void setLevel(Level level) {
         this.level = level;
     }
 
+    @Override
     public File getFile() {
         return file;
     }
 
+    @Override
     public void setFile(File file) {
         this.file = file;
     }
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/support/FailsafeLogger.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/support/FailsafeLogger.java
index 858a4e085f..f637de8eb4 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/support/FailsafeLogger.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/logger/support/FailsafeLogger.java
@@ -40,6 +40,7 @@ private String appendContextMessage(String msg) {
         return " [DUBBO] " + msg + ", dubbo version: " + Version.getVersion() + ", current host: " + NetUtils.getLogHost();
     }
 
+    @Override
     public void trace(String msg, Throwable e) {
         try {
             logger.trace(appendContextMessage(msg), e);
@@ -47,6 +48,7 @@ public void trace(String msg, Throwable e) {
         }
     }
 
+    @Override
     public void trace(Throwable e) {
         try {
             logger.trace(e);
@@ -54,6 +56,7 @@ public void trace(Throwable e) {
         }
     }
 
+    @Override
     public void trace(String msg) {
         try {
             logger.trace(appendContextMessage(msg));
@@ -61,6 +64,7 @@ public void trace(String msg) {
         }
     }
 
+    @Override
     public void debug(String msg, Throwable e) {
         try {
             logger.debug(appendContextMessage(msg), e);
@@ -68,6 +72,7 @@ public void debug(String msg, Throwable e) {
         }
     }
 
+    @Override
     public void debug(Throwable e) {
         try {
             logger.debug(e);
@@ -75,6 +80,7 @@ public void debug(Throwable e) {
         }
     }
 
+    @Override
     public void debug(String msg) {
         try {
             logger.debug(appendContextMessage(msg));
@@ -82,6 +88,7 @@ public void debug(String msg) {
         }
     }
 
+    @Override
     public void info(String msg, Throwable e) {
         try {
             logger.info(appendContextMessage(msg), e);
@@ -89,6 +96,7 @@ public void info(String msg, Throwable e) {
         }
     }
 
+    @Override
     public void info(String msg) {
         try {
             logger.info(appendContextMessage(msg));
@@ -96,6 +104,7 @@ public void info(String msg) {
         }
     }
 
+    @Override
     public void warn(String msg, Throwable e) {
         try {
             logger.warn(appendContextMessage(msg), e);
@@ -103,6 +112,7 @@ public void warn(String msg, Throwable e) {
         }
     }
 
+    @Override
     public void warn(String msg) {
         try {
             logger.warn(appendContextMessage(msg));
@@ -110,6 +120,7 @@ public void warn(String msg) {
         }
     }
 
+    @Override
     public void error(String msg, Throwable e) {
         try {
             logger.error(appendContextMessage(msg), e);
@@ -117,6 +128,7 @@ public void error(String msg, Throwable e) {
         }
     }
 
+    @Override
     public void error(String msg) {
         try {
             logger.error(appendContextMessage(msg));
@@ -124,6 +136,7 @@ public void error(String msg) {
         }
     }
 
+    @Override
     public void error(Throwable e) {
         try {
             logger.error(e);
@@ -131,6 +144,7 @@ public void error(Throwable e) {
         }
     }
 
+    @Override
     public void info(Throwable e) {
         try {
             logger.info(e);
@@ -138,6 +152,7 @@ public void info(Throwable e) {
         }
     }
 
+    @Override
     public void warn(Throwable e) {
         try {
             logger.warn(e);
@@ -145,6 +160,7 @@ public void warn(Throwable e) {
         }
     }
 
+    @Override
     public boolean isTraceEnabled() {
         try {
             return logger.isTraceEnabled();
@@ -153,6 +169,7 @@ public boolean isTraceEnabled() {
         }
     }
 
+    @Override
     public boolean isDebugEnabled() {
         try {
             return logger.isDebugEnabled();
@@ -161,6 +178,7 @@ public boolean isDebugEnabled() {
         }
     }
 
+    @Override
     public boolean isInfoEnabled() {
         try {
             return logger.isInfoEnabled();
@@ -169,6 +187,7 @@ public boolean isInfoEnabled() {
         }
     }
 
+    @Override
     public boolean isWarnEnabled() {
         try {
             return logger.isWarnEnabled();
@@ -177,6 +196,7 @@ public boolean isWarnEnabled() {
         }
     }
 
+    @Override
     public boolean isErrorEnabled() {
         try {
             return logger.isErrorEnabled();
@@ -185,4 +205,4 @@ public boolean isErrorEnabled() {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/status/support/LoadStatusChecker.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/status/support/LoadStatusChecker.java
index b2ce5640b3..018bce7807 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/status/support/LoadStatusChecker.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/status/support/LoadStatusChecker.java
@@ -30,6 +30,7 @@
 @Activate
 public class LoadStatusChecker implements StatusChecker {
 
+    @Override
     public Status check() {
         OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean();
         double load;
@@ -43,4 +44,4 @@ public Status check() {
         return new Status(load < 0 ? Status.Level.UNKNOWN : (load < cpu ? Status.Level.OK : Status.Level.WARN), (load < 0 ? "" : "load:" + load + ",") + "cpu:" + cpu);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/status/support/MemoryStatusChecker.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/status/support/MemoryStatusChecker.java
index c8ea8f37ac..65b4baa60b 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/status/support/MemoryStatusChecker.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/status/support/MemoryStatusChecker.java
@@ -26,6 +26,7 @@
 @Activate
 public class MemoryStatusChecker implements StatusChecker {
 
+    @Override
     public Status check() {
         Runtime runtime = Runtime.getRuntime();
         long freeMemory = runtime.freeMemory();
@@ -37,4 +38,4 @@ public Status check() {
         return new Status(ok ? Status.Level.OK : Status.Level.WARN, msg);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/store/support/SimpleDataStore.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/store/support/SimpleDataStore.java
index 69c38d1ad6..d070875acf 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/store/support/SimpleDataStore.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/store/support/SimpleDataStore.java
@@ -30,6 +30,7 @@
     private ConcurrentMap<String, ConcurrentMap<String, Object>> data =
             new ConcurrentHashMap<String, ConcurrentMap<String, Object>>();
 
+    @Override
     public Map<String, Object> get(String componentName) {
         ConcurrentMap<String, Object> value = data.get(componentName);
         if (value == null) return new HashMap<String, Object>();
@@ -37,6 +38,7 @@
         return new HashMap<String, Object>(value);
     }
 
+    @Override
     public Object get(String componentName, String key) {
         if (!data.containsKey(componentName)) {
             return null;
@@ -44,6 +46,7 @@ public Object get(String componentName, String key) {
         return data.get(componentName).get(key);
     }
 
+    @Override
     public void put(String componentName, String key, Object value) {
         Map<String, Object> componentData = data.get(componentName);
         if (null == componentData) {
@@ -53,6 +56,7 @@ public void put(String componentName, String key, Object value) {
         componentData.put(key, value);
     }
 
+    @Override
     public void remove(String componentName, String key) {
         if (!data.containsKey(componentName)) {
             return;
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/cached/CachedThreadPool.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/cached/CachedThreadPool.java
index f63bda0c59..f808ab926f 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/cached/CachedThreadPool.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/cached/CachedThreadPool.java
@@ -36,6 +36,7 @@
  */
 public class CachedThreadPool implements ThreadPool {
 
+    @Override
     public Executor getExecutor(URL url) {
         String name = url.getParameter(Constants.THREAD_NAME_KEY, Constants.DEFAULT_THREAD_NAME);
         int cores = url.getParameter(Constants.CORE_THREADS_KEY, Constants.DEFAULT_CORE_THREADS);
@@ -49,4 +50,4 @@ public Executor getExecutor(URL url) {
                 new NamedThreadFactory(name, true), new AbortPolicyWithReport(name, url));
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/fixed/FixedThreadPool.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/fixed/FixedThreadPool.java
index c8fe922dfa..15ebb20d08 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/fixed/FixedThreadPool.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/fixed/FixedThreadPool.java
@@ -35,6 +35,7 @@
  */
 public class FixedThreadPool implements ThreadPool {
 
+    @Override
     public Executor getExecutor(URL url) {
         String name = url.getParameter(Constants.THREAD_NAME_KEY, Constants.DEFAULT_THREAD_NAME);
         int threads = url.getParameter(Constants.THREADS_KEY, Constants.DEFAULT_THREADS);
@@ -46,4 +47,4 @@ public Executor getExecutor(URL url) {
                 new NamedThreadFactory(name, true), new AbortPolicyWithReport(name, url));
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/limited/LimitedThreadPool.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/limited/LimitedThreadPool.java
index d1d9156b95..aa5a71f3da 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/limited/LimitedThreadPool.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/threadpool/support/limited/LimitedThreadPool.java
@@ -35,6 +35,7 @@
  */
 public class LimitedThreadPool implements ThreadPool {
 
+    @Override
     public Executor getExecutor(URL url) {
         String name = url.getParameter(Constants.THREAD_NAME_KEY, Constants.DEFAULT_THREAD_NAME);
         int cores = url.getParameter(Constants.CORE_THREADS_KEY, Constants.DEFAULT_CORE_THREADS);
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/AtomicPositiveInteger.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/AtomicPositiveInteger.java
index f9bc27a02d..016efc8ab0 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/AtomicPositiveInteger.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/AtomicPositiveInteger.java
@@ -133,30 +133,37 @@ public final boolean weakCompareAndSet(int expect, int update) {
         return i.weakCompareAndSet(expect, update);
     }
 
+    @Override
     public byte byteValue() {
         return i.byteValue();
     }
 
+    @Override
     public short shortValue() {
         return i.shortValue();
     }
 
+    @Override
     public int intValue() {
         return i.intValue();
     }
 
+    @Override
     public long longValue() {
         return i.longValue();
     }
 
+    @Override
     public float floatValue() {
         return i.floatValue();
     }
 
+    @Override
     public double doubleValue() {
         return i.doubleValue();
     }
 
+    @Override
     public String toString() {
         return i.toString();
     }
@@ -177,4 +184,4 @@ public boolean equals(Object obj) {
         return i.intValue() == other.i.intValue();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/CollectionUtils.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/CollectionUtils.java
index 300235f160..314560d11f 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/CollectionUtils.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/CollectionUtils.java
@@ -27,6 +27,7 @@
 public class CollectionUtils {
 
     private static final Comparator<String> SIMPLE_NAME_COMPARATOR = new Comparator<String>() {
+        @Override
         public int compare(String s1, String s2) {
             if (s1 == null && s2 == null) {
                 return 0;
@@ -206,4 +207,4 @@ public static boolean isNotEmpty(Collection<?> collection) {
         return collection != null && !collection.isEmpty();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/ConcurrentHashSet.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/ConcurrentHashSet.java
index 2295d65adb..7eab158f41 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/ConcurrentHashSet.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/ConcurrentHashSet.java
@@ -46,6 +46,7 @@ public ConcurrentHashSet(int initialCapacity) {
      * @return an Iterator over the elements in this set
      * @see ConcurrentModificationException
      */
+    @Override
     public Iterator<E> iterator() {
         return map.keySet().iterator();
     }
@@ -55,6 +56,7 @@ public ConcurrentHashSet(int initialCapacity) {
      *
      * @return the number of elements in this set (its cardinality)
      */
+    @Override
     public int size() {
         return map.size();
     }
@@ -64,6 +66,7 @@ public int size() {
      *
      * @return <tt>true</tt> if this set contains no elements
      */
+    @Override
     public boolean isEmpty() {
         return map.isEmpty();
     }
@@ -77,6 +80,7 @@ public boolean isEmpty() {
      * @param o element whose presence in this set is to be tested
      * @return <tt>true</tt> if this set contains the specified element
      */
+    @Override
     public boolean contains(Object o) {
         return map.containsKey(o);
     }
@@ -93,6 +97,7 @@ public boolean contains(Object o) {
      * @return <tt>true</tt> if this set did not already contain the specified
      * element
      */
+    @Override
     public boolean add(E e) {
         return map.put(e, PRESENT) == null;
     }
@@ -108,6 +113,7 @@ public boolean add(E e) {
      * @param o object to be removed from this set, if present
      * @return <tt>true</tt> if the set contained the specified element
      */
+    @Override
     public boolean remove(Object o) {
         return map.remove(o) == PRESENT;
     }
@@ -116,8 +122,9 @@ public boolean remove(Object o) {
      * Removes all of the elements from this set. The set will be empty after
      * this call returns.
      */
+    @Override
     public void clear() {
         map.clear();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/DubboAppender.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/DubboAppender.java
index 1d740f1833..96e894931d 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/DubboAppender.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/DubboAppender.java
@@ -40,6 +40,7 @@ public static void clear() {
         logList.clear();
     }
 
+    @Override
     public void append(LoggingEvent event) {
         super.append(event);
         if (available) {
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/ExecutorUtil.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/ExecutorUtil.java
index eea7483819..4fcdbb0b6b 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/ExecutorUtil.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/ExecutorUtil.java
@@ -93,6 +93,7 @@ public static void shutdownNow(Executor executor, final int timeout) {
     private static void newThreadToCloseExecutor(final ExecutorService es) {
         if (!isShutdown(es)) {
             shutdownExecutor.execute(new Runnable() {
+                @Override
                 public void run() {
                     try {
                         for (int i = 0; i < 1000; i++) {
@@ -122,4 +123,4 @@ public static URL setThreadName(URL url, String defaultName) {
         url = url.addParameter(Constants.THREAD_NAME_KEY, name);
         return url;
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/NamedThreadFactory.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/NamedThreadFactory.java
index 1443a39e26..3d30a03723 100755
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/NamedThreadFactory.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/NamedThreadFactory.java
@@ -48,6 +48,7 @@ public NamedThreadFactory(String prefix, boolean daemon) {
         mGroup = (s == null) ? Thread.currentThread().getThreadGroup() : s.getThreadGroup();
     }
 
+    @Override
     public Thread newThread(Runnable runnable) {
         String name = mPrefix + mThreadNum.getAndIncrement();
         Thread ret = new Thread(mGroup, runnable, name, 0);
@@ -58,4 +59,4 @@ public Thread newThread(Runnable runnable) {
     public ThreadGroup getThreadGroup() {
         return mGroup;
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/PojoUtils.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/PojoUtils.java
index 30290c7664..754fd2d649 100644
--- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/PojoUtils.java
+++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/PojoUtils.java
@@ -204,6 +204,7 @@ public PojoInvocationHandler(Map<Object, Object> map) {
             this.map = map;
         }
 
+        @Override
         @SuppressWarnings("unchecked")
         public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
             if (method.getDeclaringClass() == Object.class) {
@@ -589,4 +590,4 @@ public static boolean isPojo(Class<?> cls) {
                 && !Map.class.isAssignableFrom(cls);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractConfig.java b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractConfig.java
index caa14a53af..657eebdc71 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractConfig.java
@@ -75,6 +75,7 @@
 
     static {
         Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
+            @Override
             public void run() {
                 if (logger.isInfoEnabled()) {
                     logger.info("Run shutdown hook now.");
@@ -491,4 +492,4 @@ public String toString() {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractReferenceConfig.java b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractReferenceConfig.java
index c3f02642a1..f5ebd6bfa6 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractReferenceConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractReferenceConfig.java
@@ -114,11 +114,13 @@ public void setInjvm(Boolean injvm) {
         this.injvm = injvm;
     }
 
+    @Override
     @Parameter(key = Constants.REFERENCE_FILTER_KEY, append = true)
     public String getFilter() {
         return super.getFilter();
     }
 
+    @Override
     @Parameter(key = Constants.INVOKER_LISTENER_KEY, append = true)
     public String getListener() {
         return super.getListener();
@@ -196,4 +198,4 @@ public void setGroup(String group) {
         this.group = group;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractServiceConfig.java b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractServiceConfig.java
index 00aed9434a..7dcd94adb2 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractServiceConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractServiceConfig.java
@@ -198,11 +198,13 @@ public void setExecutes(Integer executes) {
         this.executes = executes;
     }
 
+    @Override
     @Parameter(key = Constants.SERVICE_FILTER_KEY, append = true)
     public String getFilter() {
         return super.getFilter();
     }
 
+    @Override
     @Parameter(key = Constants.EXPORTER_LISTENER_KEY, append = true)
     public String getListener() {
         return super.getListener();
@@ -238,4 +240,4 @@ public void setSerialization(String serialization) {
         this.serialization = serialization;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/ServiceConfig.java b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/ServiceConfig.java
index 853ece2eaa..56b3f6f9c8 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/ServiceConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/ServiceConfig.java
@@ -207,6 +207,7 @@ public synchronized void export() {
 
         if (delay != null && delay > 0) {
             delayExportExecutor.schedule(new Runnable() {
+                @Override
                 public void run() {
                     doExport();
                 }
diff --git a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/invoker/DelegateProviderMetaDataInvoker.java b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/invoker/DelegateProviderMetaDataInvoker.java
index 14bfa50215..0157f4c74e 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/invoker/DelegateProviderMetaDataInvoker.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/invoker/DelegateProviderMetaDataInvoker.java
@@ -32,22 +32,27 @@ public DelegateProviderMetaDataInvoker(Invoker<T> invoker,ServiceConfig metadata
         this.metadata = metadata;
     }
 
+    @Override
     public Class<T> getInterface() {
         return invoker.getInterface();
     }
 
+    @Override
     public URL getUrl() {
         return invoker.getUrl();
     }
 
+    @Override
     public boolean isAvailable() {
         return invoker.isAvailable();
     }
 
+    @Override
     public Result invoke(Invocation invocation) throws RpcException {
         return invoker.invoke(invocation);
     }
 
+    @Override
     public void destroy() {
         invoker.destroy();
     }
diff --git a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/utils/ReferenceConfigCache.java b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/utils/ReferenceConfigCache.java
index 9e5f759c76..ece1ddc367 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/utils/ReferenceConfigCache.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/utils/ReferenceConfigCache.java
@@ -40,6 +40,7 @@
      * key example: <code>group1/com.alibaba.foo.FooService:1.0.0</code>.
      */
     public static final KeyGenerator DEFAULT_KEY_GENERATOR = new KeyGenerator() {
+        @Override
         public String generateKey(ReferenceConfig<?> referenceConfig) {
             String iName = referenceConfig.getInterface();
             if (StringUtils.isBlank(iName)) {
diff --git a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockProtocol.java b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockProtocol.java
index aabbbf9757..83d03b8c85 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockProtocol.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockProtocol.java
@@ -29,6 +29,7 @@
     /* (non-Javadoc)
      * @see com.alibaba.dubbo.rpc.Protocol#getDefaultPort()
      */
+    @Override
     public int getDefaultPort() {
 
         return 0;
@@ -49,6 +50,7 @@ public int getDefaultPort() {
         final URL u = url;
 
         return new Invoker<T>() {
+            @Override
             public Class<T> getInterface() {
                 return null;
             }
@@ -57,6 +59,7 @@ public URL getUrl() {
                 return u;
             }
 
+            @Override
             public boolean isAvailable() {
                 return true;
             }
@@ -65,6 +68,7 @@ public Result invoke(Invocation invocation) throws RpcException {
                 return null;
             }
 
+            @Override
             public void destroy() {
 
             }
@@ -74,8 +78,9 @@ public void destroy() {
     /* (non-Javadoc)
      * @see com.alibaba.dubbo.rpc.Protocol#destroy()
      */
+    @Override
     public void destroy() {
 
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockRegistry.java b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockRegistry.java
index c63b504b1b..deba44a256 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockRegistry.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockRegistry.java
@@ -45,6 +45,7 @@ public URL getUrl() {
     /* 
      * @see com.alibaba.dubbo.common.Node#isAvailable()
      */
+    @Override
     public boolean isAvailable() {
         return true;
     }
@@ -52,6 +53,7 @@ public boolean isAvailable() {
     /* 
      * @see com.alibaba.dubbo.common.Node#destroy()
      */
+    @Override
     public void destroy() {
 
     }
@@ -59,6 +61,7 @@ public void destroy() {
     /* 
      * @see com.alibaba.dubbo.registry.RegistryService#register(com.alibaba.dubbo.common.URL)
      */
+    @Override
     public void register(URL url) {
 
     }
@@ -66,6 +69,7 @@ public void register(URL url) {
     /* 
      * @see com.alibaba.dubbo.registry.RegistryService#unregister(com.alibaba.dubbo.common.URL)
      */
+    @Override
     public void unregister(URL url) {
 
     }
@@ -73,6 +77,7 @@ public void unregister(URL url) {
     /* 
      * @see com.alibaba.dubbo.registry.RegistryService#subscribe(com.alibaba.dubbo.common.URL, com.alibaba.dubbo.registry.NotifyListener)
      */
+    @Override
     public void subscribe(URL url, NotifyListener listener) {
         this.subscribedUrl = url;
         List<URL> urls = new ArrayList<URL>();
@@ -87,6 +92,7 @@ public void subscribe(URL url, NotifyListener listener) {
     /* 
      * @see com.alibaba.dubbo.registry.RegistryService#unsubscribe(com.alibaba.dubbo.common.URL, com.alibaba.dubbo.registry.NotifyListener)
      */
+    @Override
     public void unsubscribe(URL url, NotifyListener listener) {
 
     }
@@ -94,8 +100,9 @@ public void unsubscribe(URL url, NotifyListener listener) {
     /* 
      * @see com.alibaba.dubbo.registry.RegistryService#lookup(com.alibaba.dubbo.common.URL)
      */
+    @Override
     public List<URL> lookup(URL url) {
         return null;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockRegistryFactory.java b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockRegistryFactory.java
index b08b427c96..b3b364f087 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockRegistryFactory.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/support/MockRegistryFactory.java
@@ -28,9 +28,10 @@
     /* 
      * @see com.alibaba.dubbo.registry.RegistryFactory#getRegistry(com.alibaba.dubbo.common.URL)
      */
+    @Override
     public Registry getRegistry(URL url) {
 
         return new MockRegistry();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/AnnotationBean.java b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/AnnotationBean.java
index 93168d0893..096fdfb0ef 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/AnnotationBean.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/AnnotationBean.java
@@ -69,10 +69,12 @@ public void setPackage(String annotationPackage) {
                 : Constants.COMMA_SPLIT_PATTERN.split(annotationPackage);
     }
 
+    @Override
     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
         this.applicationContext = applicationContext;
     }
 
+    @Override
     public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
             throws BeansException {
         if (annotationPackage == null || annotationPackage.length() == 0) {
@@ -98,6 +100,7 @@ public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
         }
     }
 
+    @Override
     public void destroy() throws Exception {
         for (ServiceConfig<?> serviceConfig : serviceConfigs) {
             try {
@@ -115,6 +118,7 @@ public void destroy() throws Exception {
         }
     }
 
+    @Override
     public Object postProcessAfterInitialization(Object bean, String beanName)
             throws BeansException {
         if (!isMatchPackage(bean)) {
@@ -183,6 +187,7 @@ public Object postProcessAfterInitialization(Object bean, String beanName)
         return bean;
     }
 
+    @Override
     public Object postProcessBeforeInitialization(Object bean, String beanName)
             throws BeansException {
         if (!isMatchPackage(bean)) {
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/ReferenceBean.java b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/ReferenceBean.java
index f3aa9b0249..b2e548dfd3 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/ReferenceBean.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/ReferenceBean.java
@@ -56,24 +56,29 @@ public ReferenceBean(Reference reference) {
         super(reference);
     }
 
+    @Override
     public void setApplicationContext(ApplicationContext applicationContext) {
         this.applicationContext = applicationContext;
         SpringExtensionFactory.addApplicationContext(applicationContext);
     }
 
+    @Override
     public Object getObject() throws Exception {
         return get();
     }
 
+    @Override
     public Class<?> getObjectType() {
         return getInterfaceClass();
     }
 
+    @Override
     @Parameter(excluded = true)
     public boolean isSingleton() {
         return true;
     }
 
+    @Override
     @SuppressWarnings({"unchecked"})
     public void afterPropertiesSet() throws Exception {
         if (getConsumer() == null) {
@@ -177,4 +182,4 @@ public void afterPropertiesSet() throws Exception {
     public void destroy() {
         // do nothing
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/ServiceBean.java b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/ServiceBean.java
index 2e614efdb6..00986f67ab 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/ServiceBean.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/ServiceBean.java
@@ -75,6 +75,7 @@ public static ApplicationContext getSpringContext() {
         return SPRING_CONTEXT;
     }
 
+    @Override
     public void setApplicationContext(ApplicationContext applicationContext) {
         this.applicationContext = applicationContext;
         SpringExtensionFactory.addApplicationContext(applicationContext);
@@ -100,6 +101,7 @@ public void setApplicationContext(ApplicationContext applicationContext) {
         }
     }
 
+    @Override
     public void setBeanName(String name) {
         this.beanName = name;
     }
@@ -113,6 +115,7 @@ public Service getService() {
         return service;
     }
 
+    @Override
     public void onApplicationEvent(ContextRefreshedEvent event) {
         if (isDelay() && !isExported() && !isUnexported()) {
             if (logger.isInfoEnabled()) {
@@ -131,6 +134,7 @@ private boolean isDelay() {
         return supportedApplicationListener && (delay == null || delay == -1);
     }
 
+    @Override
     @SuppressWarnings({"unchecked", "deprecation"})
     public void afterPropertiesSet() throws Exception {
         if (getProvider() == null) {
@@ -262,6 +266,7 @@ public void afterPropertiesSet() throws Exception {
         }
     }
 
+    @Override
     public void destroy() throws Exception {
         // This will only be called for singleton scope bean, and expected to be called by spring shutdown hook when BeanFactory/ApplicationContext destroys.
         // We will guarantee dubbo related resources being released with dubbo shutdown hook.
@@ -269,10 +274,11 @@ public void destroy() throws Exception {
     }
 
     // merged from dubbox
+    @Override
     protected Class getServiceClass(T ref) {
         if (AopUtils.isAopProxy(ref)) {
             return AopUtils.getTargetClass(ref);
         }
         return super.getServiceClass(ref);
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/context/annotation/DubboClassPathBeanDefinitionScanner.java b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/context/annotation/DubboClassPathBeanDefinitionScanner.java
index e6aaee315f..4f0928ed72 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/context/annotation/DubboClassPathBeanDefinitionScanner.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/context/annotation/DubboClassPathBeanDefinitionScanner.java
@@ -57,10 +57,12 @@ public DubboClassPathBeanDefinitionScanner(BeanDefinitionRegistry registry, Envi
 
     }
 
+    @Override
     public Set<BeanDefinitionHolder> doScan(String... basePackages) {
         return super.doScan(basePackages);
     }
 
+    @Override
     public boolean checkCandidate(String beanName, BeanDefinition beanDefinition) throws IllegalStateException {
         return super.checkCandidate(beanName, beanDefinition);
     }
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/extension/SpringExtensionFactory.java b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/extension/SpringExtensionFactory.java
index 3d13de4651..a4c05c3abc 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/extension/SpringExtensionFactory.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/extension/SpringExtensionFactory.java
@@ -37,6 +37,7 @@ public static void removeApplicationContext(ApplicationContext context) {
         contexts.remove(context);
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T getExtension(Class<T> type, String name) {
         for (ApplicationContext context : contexts) {
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/AnnotationBeanDefinitionParser.java b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/AnnotationBeanDefinitionParser.java
index fb249a1601..cf4ef36c09 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/AnnotationBeanDefinitionParser.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/AnnotationBeanDefinitionParser.java
@@ -51,6 +51,7 @@
      * @param parserContext
      * @param builder
      */
+    @Override
     protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
 
         String packageToScan = element.getAttribute("package");
@@ -66,6 +67,7 @@ protected void doParse(Element element, ParserContext parserContext, BeanDefinit
 
     }
 
+    @Override
     protected boolean shouldGenerateIdAsFallback() {
         return true;
     }
@@ -83,6 +85,7 @@ private void registerReferenceAnnotationBeanPostProcessor(BeanDefinitionRegistry
 
     }
 
+    @Override
     protected Class<?> getBeanClass(Element element) {
         return ServiceAnnotationBeanPostProcessor.class;
     }
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/DubboBeanDefinitionParser.java b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/DubboBeanDefinitionParser.java
index 5502d05d64..12a020dc5e 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/DubboBeanDefinitionParser.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/DubboBeanDefinitionParser.java
@@ -406,6 +406,7 @@ private static void parseArguments(String id, NodeList nodeList, RootBeanDefinit
         }
     }
 
+    @Override
     public BeanDefinition parse(Element element, ParserContext parserContext) {
         return parse(element, parserContext, beanClass, required);
     }
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/DubboNamespaceHandler.java b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/DubboNamespaceHandler.java
index da44826514..172cb5bc2a 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/DubboNamespaceHandler.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/schema/DubboNamespaceHandler.java
@@ -33,6 +33,7 @@
         Version.checkDuplicate(DubboNamespaceHandler.class);
     }
 
+    @Override
     public void init() {
         registerBeanDefinitionParser("application", new DubboBeanDefinitionParser(ApplicationConfig.class, true));
         registerBeanDefinitionParser("module", new DubboBeanDefinitionParser(ModuleConfig.class, true));
@@ -46,4 +47,4 @@ public void init() {
         registerBeanDefinitionParser("annotation", new AnnotationBeanDefinitionParser());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/status/DataSourceStatusChecker.java b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/status/DataSourceStatusChecker.java
index 198122a641..99c42ab992 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/status/DataSourceStatusChecker.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/status/DataSourceStatusChecker.java
@@ -38,6 +38,7 @@
 
     private static final Logger logger = LoggerFactory.getLogger(DataSourceStatusChecker.class);
 
+    @Override
     @SuppressWarnings("unchecked")
     public Status check() {
         ApplicationContext context = ServiceBean.getSpringContext();
@@ -85,4 +86,4 @@ public Status check() {
         return new Status(level, buf.toString());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/status/SpringStatusChecker.java b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/status/SpringStatusChecker.java
index 0303ed04b2..3bdc996f61 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/status/SpringStatusChecker.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/status/SpringStatusChecker.java
@@ -35,6 +35,7 @@
 
     private static final Logger logger = LoggerFactory.getLogger(SpringStatusChecker.class);
 
+    @Override
     public Status check() {
         ApplicationContext context = ServiceBean.getSpringContext();
         if (context == null) {
@@ -81,4 +82,4 @@ public Status check() {
         return new Status(level, buf.toString());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/AbstractRegistryService.java b/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/AbstractRegistryService.java
index 0e98691027..410441cbb2 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/AbstractRegistryService.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/AbstractRegistryService.java
@@ -54,6 +54,7 @@
     // Map<serviceName, List<notificationListener>>
     private final ConcurrentMap<String, List<NotifyListener>> notifyListeners = new ConcurrentHashMap<String, List<NotifyListener>>();
 
+    @Override
     public void register(URL url) {
         if (logger.isInfoEnabled()) {
             logger.info("Register service: " + url.getServiceKey() + ",url:" + url);
@@ -61,6 +62,7 @@ public void register(URL url) {
         register(url.getServiceKey(), url);
     }
 
+    @Override
     public void unregister(URL url) {
         if (logger.isInfoEnabled()) {
             logger.info("Unregister service: " + url.getServiceKey() + ",url:" + url);
@@ -68,6 +70,7 @@ public void unregister(URL url) {
         unregister(url.getServiceKey(), url);
     }
 
+    @Override
     public void subscribe(URL url, NotifyListener listener) {
         if (logger.isInfoEnabled()) {
             logger.info("Subscribe service: " + url.getServiceKey() + ",url:" + url);
@@ -75,6 +78,7 @@ public void subscribe(URL url, NotifyListener listener) {
         subscribe(url.getServiceKey(), url, listener);
     }
 
+    @Override
     public void unsubscribe(URL url, NotifyListener listener) {
         if (logger.isInfoEnabled()) {
             logger.info("Unsubscribe service: " + url.getServiceKey() + ",url:" + url);
@@ -82,6 +86,7 @@ public void unsubscribe(URL url, NotifyListener listener) {
         unsubscribe(url.getServiceKey(), url, listener);
     }
 
+    @Override
     public List<URL> lookup(URL url) {
         return getRegistered(url.getServiceKey());
     }
@@ -235,4 +240,4 @@ protected final void notify(String service, List<URL> urls) {
         return Collections.unmodifiableMap(notifyListeners);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/registry/MockRegistry.java b/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/registry/MockRegistry.java
index b0427f50e3..559a4e893b 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/registry/MockRegistry.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/registry/MockRegistry.java
@@ -50,30 +50,37 @@ public URL getUrl() {
         return url;
     }
 
+    @Override
     public boolean isAvailable() {
         return true;
     }
 
+    @Override
     public void destroy() {
 
     }
 
+    @Override
     public void register(URL url) {
         registered.add(url);
     }
 
+    @Override
     public void unregister(URL url) {
         registered.remove(url);
     }
 
+    @Override
     public void subscribe(URL url, NotifyListener listener) {
         subscribered.add(url);
     }
 
+    @Override
     public void unsubscribe(URL url, NotifyListener listener) {
         subscribered.remove(url);
     }
 
+    @Override
     public List<URL> lookup(URL url) {
         return null;
     }
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/registry/MockRegistryFactory.java b/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/registry/MockRegistryFactory.java
index f493d3ce03..f6082bfcb7 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/registry/MockRegistryFactory.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/registry/MockRegistryFactory.java
@@ -36,6 +36,7 @@ public static void cleanCachedRegistry() {
         registries.clear();
     }
 
+    @Override
     public Registry getRegistry(URL url) {
         MockRegistry registry = new MockRegistry(url);
         registries.put(url, registry);
diff --git a/dubbo-container/dubbo-container-api/src/main/java/com/alibaba/dubbo/container/Main.java b/dubbo-container/dubbo-container-api/src/main/java/com/alibaba/dubbo/container/Main.java
index 27d1f3dac6..266ddc1c6f 100644
--- a/dubbo-container/dubbo-container-api/src/main/java/com/alibaba/dubbo/container/Main.java
+++ b/dubbo-container/dubbo-container-api/src/main/java/com/alibaba/dubbo/container/Main.java
@@ -62,6 +62,7 @@ public static void main(String[] args) {
 
             if ("true".equals(System.getProperty(SHUTDOWN_HOOK_KEY))) {
                 Runtime.getRuntime().addShutdownHook(new Thread() {
+                    @Override
                     public void run() {
                         for (Container container : containers) {
                             try {
@@ -101,4 +102,4 @@ public void run() {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-container/dubbo-container-log4j/src/main/java/com/alibaba/dubbo/container/log4j/Log4jContainer.java b/dubbo-container/dubbo-container-log4j/src/main/java/com/alibaba/dubbo/container/log4j/Log4jContainer.java
index b4b21c0f19..378e958714 100644
--- a/dubbo-container/dubbo-container-log4j/src/main/java/com/alibaba/dubbo/container/log4j/Log4jContainer.java
+++ b/dubbo-container/dubbo-container-log4j/src/main/java/com/alibaba/dubbo/container/log4j/Log4jContainer.java
@@ -40,6 +40,7 @@
 
     public static final String DEFAULT_LOG4J_LEVEL = "ERROR";
 
+    @Override
     @SuppressWarnings("unchecked")
     public void start() {
         String file = ConfigUtils.getProperty(LOG4J_FILE);
@@ -92,7 +93,8 @@ public void start() {
         }
     }
 
+    @Override
     public void stop() {
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-container/dubbo-container-logback/src/main/java/com/alibaba/dubbo/container/logback/LogbackContainer.java b/dubbo-container/dubbo-container-logback/src/main/java/com/alibaba/dubbo/container/logback/LogbackContainer.java
index 46b7eef7a1..d4ae533e7c 100644
--- a/dubbo-container/dubbo-container-logback/src/main/java/com/alibaba/dubbo/container/logback/LogbackContainer.java
+++ b/dubbo-container/dubbo-container-logback/src/main/java/com/alibaba/dubbo/container/logback/LogbackContainer.java
@@ -42,6 +42,7 @@
 
     public static final String DEFAULT_LOGBACK_LEVEL = "ERROR";
 
+    @Override
     public void start() {
         String file = ConfigUtils.getProperty(LOGBACK_FILE);
         if (file != null && file.length() > 0) {
@@ -56,6 +57,7 @@ public void start() {
         }
     }
 
+    @Override
     public void stop() {
     }
 
@@ -101,4 +103,4 @@ private void doInitializer(String file, String level, int maxHistory) {
         rootLogger.setAdditive(false);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-container/dubbo-container-spring/src/main/java/com/alibaba/dubbo/container/spring/SpringContainer.java b/dubbo-container/dubbo-container-spring/src/main/java/com/alibaba/dubbo/container/spring/SpringContainer.java
index ca00ce2c16..d21f3a5636 100644
--- a/dubbo-container/dubbo-container-spring/src/main/java/com/alibaba/dubbo/container/spring/SpringContainer.java
+++ b/dubbo-container/dubbo-container-spring/src/main/java/com/alibaba/dubbo/container/spring/SpringContainer.java
@@ -37,6 +37,7 @@ public static ClassPathXmlApplicationContext getContext() {
         return context;
     }
 
+    @Override
     public void start() {
         String configPath = ConfigUtils.getProperty(SPRING_CONFIG);
         if (configPath == null || configPath.length() == 0) {
@@ -46,6 +47,7 @@ public void start() {
         context.start();
     }
 
+    @Override
     public void stop() {
         try {
             if (context != null) {
@@ -58,4 +60,4 @@ public void stop() {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-demo/dubbo-demo-provider/src/main/java/com/alibaba/dubbo/demo/provider/DemoServiceImpl.java b/dubbo-demo/dubbo-demo-provider/src/main/java/com/alibaba/dubbo/demo/provider/DemoServiceImpl.java
index 59281a8277..c501196397 100644
--- a/dubbo-demo/dubbo-demo-provider/src/main/java/com/alibaba/dubbo/demo/provider/DemoServiceImpl.java
+++ b/dubbo-demo/dubbo-demo-provider/src/main/java/com/alibaba/dubbo/demo/provider/DemoServiceImpl.java
@@ -24,6 +24,7 @@
 
 public class DemoServiceImpl implements DemoService {
 
+    @Override
     public String sayHello(String name) {
         System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] Hello " + name + ", request from consumer: " + RpcContext.getContext().getRemoteAddress());
         return "Hello " + name + ", response from provider: " + RpcContext.getContext().getLocalAddress();
diff --git a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/filter/CacheFilter.java b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/filter/CacheFilter.java
index f1f6668bd9..5e064e47f2 100644
--- a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/filter/CacheFilter.java
+++ b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/filter/CacheFilter.java
@@ -41,6 +41,7 @@ public void setCacheFactory(CacheFactory cacheFactory) {
         this.cacheFactory = cacheFactory;
     }
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         if (cacheFactory != null && ConfigUtils.isNotEmpty(invoker.getUrl().getMethodParameter(invocation.getMethodName(), Constants.CACHE_KEY))) {
             Cache cache = cacheFactory.getCache(invoker.getUrl(), invocation);
diff --git a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/AbstractCacheFactory.java b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/AbstractCacheFactory.java
index 7a6558e698..e4cc98af29 100644
--- a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/AbstractCacheFactory.java
+++ b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/AbstractCacheFactory.java
@@ -32,6 +32,7 @@
 
     private final ConcurrentMap<String, Cache> caches = new ConcurrentHashMap<String, Cache>();
 
+    @Override
     public Cache getCache(URL url, Invocation invocation) {
         url = url.addParameter(Constants.METHOD_KEY, invocation.getMethodName());
         String key = url.toFullString();
diff --git a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/jcache/JCache.java b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/jcache/JCache.java
index 8ad802b038..314c6500fa 100644
--- a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/jcache/JCache.java
+++ b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/jcache/JCache.java
@@ -65,10 +65,12 @@ public JCache(URL url) {
         this.store = cache;
     }
 
+    @Override
     public void put(Object key, Object value) {
         store.put(key, value);
     }
 
+    @Override
     public Object get(Object key) {
         return store.get(key);
     }
diff --git a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/jcache/JCacheFactory.java b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/jcache/JCacheFactory.java
index 5ccc6acd90..737d192f54 100644
--- a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/jcache/JCacheFactory.java
+++ b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/jcache/JCacheFactory.java
@@ -25,6 +25,7 @@
  */
 public class JCacheFactory extends AbstractCacheFactory {
 
+    @Override
     protected Cache createCache(URL url) {
         return new JCache(url);
     }
diff --git a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/lru/LruCache.java b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/lru/LruCache.java
index a56aa0cc89..4fe5248fb6 100644
--- a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/lru/LruCache.java
+++ b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/lru/LruCache.java
@@ -34,10 +34,12 @@ public LruCache(URL url) {
         this.store = new LRUCache<Object, Object>(max);
     }
 
+    @Override
     public void put(Object key, Object value) {
         store.put(key, value);
     }
 
+    @Override
     public Object get(Object key) {
         return store.get(key);
     }
diff --git a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/lru/LruCacheFactory.java b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/lru/LruCacheFactory.java
index 376423b6cb..2c7b28d319 100644
--- a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/lru/LruCacheFactory.java
+++ b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/lru/LruCacheFactory.java
@@ -25,6 +25,7 @@
  */
 public class LruCacheFactory extends AbstractCacheFactory {
 
+    @Override
     protected Cache createCache(URL url) {
         return new LruCache(url);
     }
diff --git a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/threadlocal/ThreadLocalCache.java b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/threadlocal/ThreadLocalCache.java
index bffdd1782d..bf8fbab1eb 100644
--- a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/threadlocal/ThreadLocalCache.java
+++ b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/threadlocal/ThreadLocalCache.java
@@ -38,10 +38,12 @@ public ThreadLocalCache(URL url) {
         };
     }
 
+    @Override
     public void put(Object key, Object value) {
         store.get().put(key, value);
     }
 
+    @Override
     public Object get(Object key) {
         return store.get().get(key);
     }
diff --git a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/threadlocal/ThreadLocalCacheFactory.java b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/threadlocal/ThreadLocalCacheFactory.java
index 24606664e6..693d33eb09 100644
--- a/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/threadlocal/ThreadLocalCacheFactory.java
+++ b/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/support/threadlocal/ThreadLocalCacheFactory.java
@@ -25,6 +25,7 @@
  */
 public class ThreadLocalCacheFactory extends AbstractCacheFactory {
 
+    @Override
     protected Cache createCache(URL url) {
         return new ThreadLocalCache(url);
     }
diff --git a/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/filter/ValidationFilter.java b/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/filter/ValidationFilter.java
index d26d01888d..1fe717cf40 100644
--- a/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/filter/ValidationFilter.java
+++ b/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/filter/ValidationFilter.java
@@ -40,6 +40,7 @@ public void setValidation(Validation validation) {
         this.validation = validation;
     }
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         if (validation != null && !invocation.getMethodName().startsWith("$")
                 && ConfigUtils.isNotEmpty(invoker.getUrl().getMethodParameter(invocation.getMethodName(), Constants.VALIDATION_KEY))) {
diff --git a/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/support/AbstractValidation.java b/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/support/AbstractValidation.java
index f299eb9f0d..4ffad494bd 100644
--- a/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/support/AbstractValidation.java
+++ b/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/support/AbstractValidation.java
@@ -30,6 +30,7 @@
 
     private final ConcurrentMap<String, Validator> validators = new ConcurrentHashMap<String, Validator>();
 
+    @Override
     public Validator getValidator(URL url) {
         String key = url.toFullString();
         Validator validator = validators.get(key);
diff --git a/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/support/jvalidation/JValidator.java b/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/support/jvalidation/JValidator.java
index 9010d37260..0d188a2bf3 100644
--- a/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/support/jvalidation/JValidator.java
+++ b/dubbo-filter/dubbo-filter-validation/src/main/java/com/alibaba/dubbo/validation/support/jvalidation/JValidator.java
@@ -233,6 +233,7 @@ else if (memberValue instanceof ArrayMemberValue) {
         return memberValue;
     }
 
+    @Override
     public void validate(String methodName, Class<?>[] parameterTypes, Object[] arguments) throws Exception {
         List<Class<?>> groups = new ArrayList<Class<?>>();
         String methodClassName = clazz.getName() + "$" + toUpperMethoName(methodName);
diff --git a/dubbo-monitor/dubbo-monitor-api/src/main/java/com/alibaba/dubbo/monitor/support/AbstractMonitorFactory.java b/dubbo-monitor/dubbo-monitor-api/src/main/java/com/alibaba/dubbo/monitor/support/AbstractMonitorFactory.java
index 9839e2d75f..0a60951eae 100644
--- a/dubbo-monitor/dubbo-monitor-api/src/main/java/com/alibaba/dubbo/monitor/support/AbstractMonitorFactory.java
+++ b/dubbo-monitor/dubbo-monitor-api/src/main/java/com/alibaba/dubbo/monitor/support/AbstractMonitorFactory.java
@@ -60,6 +60,7 @@
         return Collections.unmodifiableCollection(MONITORS.values());
     }
 
+    @Override
     public Monitor getMonitor(URL url) {
         url = url.setPath(MonitorService.class.getName()).addParameter(Constants.INTERFACE_KEY, MonitorService.class.getName());
         String key = url.toServiceStringWithoutResolving();
diff --git a/dubbo-monitor/dubbo-monitor-api/src/main/java/com/alibaba/dubbo/monitor/support/MonitorFilter.java b/dubbo-monitor/dubbo-monitor-api/src/main/java/com/alibaba/dubbo/monitor/support/MonitorFilter.java
index ebeb4ee8aa..80e8c13e86 100644
--- a/dubbo-monitor/dubbo-monitor-api/src/main/java/com/alibaba/dubbo/monitor/support/MonitorFilter.java
+++ b/dubbo-monitor/dubbo-monitor-api/src/main/java/com/alibaba/dubbo/monitor/support/MonitorFilter.java
@@ -54,6 +54,7 @@ public void setMonitorFactory(MonitorFactory monitorFactory) {
     }
 
     // intercepting invocation
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         if (invoker.getUrl().hasParameter(Constants.MONITOR_KEY)) {
             RpcContext context = RpcContext.getContext(); // provider must fetch context before invoke() gets called
@@ -138,4 +139,4 @@ private AtomicInteger getConcurrent(Invoker<?> invoker, Invocation invocation) {
         return concurrent;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-monitor/dubbo-monitor-api/src/test/java/com/alibaba/dubbo/monitor/support/AbstractMonitorFactoryTest.java b/dubbo-monitor/dubbo-monitor-api/src/test/java/com/alibaba/dubbo/monitor/support/AbstractMonitorFactoryTest.java
index a4e48ae24e..cc19f5ae86 100644
--- a/dubbo-monitor/dubbo-monitor-api/src/test/java/com/alibaba/dubbo/monitor/support/AbstractMonitorFactoryTest.java
+++ b/dubbo-monitor/dubbo-monitor-api/src/test/java/com/alibaba/dubbo/monitor/support/AbstractMonitorFactoryTest.java
@@ -40,10 +40,12 @@ public URL getUrl() {
                     return url;
                 }
 
+                @Override
                 public boolean isAvailable() {
                     return true;
                 }
 
+                @Override
                 public void destroy() {
                 }
 
@@ -98,4 +100,4 @@ public void testMonitorFactoryGroupCache() throws Exception {
         Assert.assertNotSame(monitor1, monitor2);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-monitor/dubbo-monitor-api/src/test/java/com/alibaba/dubbo/monitor/support/MonitorFilterTest.java b/dubbo-monitor/dubbo-monitor-api/src/test/java/com/alibaba/dubbo/monitor/support/MonitorFilterTest.java
index 9654301d16..5b8a303a48 100644
--- a/dubbo-monitor/dubbo-monitor-api/src/test/java/com/alibaba/dubbo/monitor/support/MonitorFilterTest.java
+++ b/dubbo-monitor/dubbo-monitor-api/src/test/java/com/alibaba/dubbo/monitor/support/MonitorFilterTest.java
@@ -47,6 +47,7 @@
     private volatile Invocation lastInvocation;
 
     private final Invoker<MonitorService> serviceInvoker = new Invoker<MonitorService>() {
+        @Override
         public Class<MonitorService> getInterface() {
             return MonitorService.class;
         }
@@ -59,6 +60,7 @@ public URL getUrl() {
             }
         }
 
+        @Override
         public boolean isAvailable() {
             return false;
         }
@@ -68,21 +70,25 @@ public Result invoke(Invocation invocation) throws RpcException {
             return null;
         }
 
+        @Override
         public void destroy() {
         }
     };
 
     private MonitorFactory monitorFactory = new MonitorFactory() {
+        @Override
         public Monitor getMonitor(final URL url) {
             return new Monitor() {
                 public URL getUrl() {
                     return url;
                 }
 
+                @Override
                 public boolean isAvailable() {
                     return true;
                 }
 
+                @Override
                 public void destroy() {
                 }
 
@@ -141,4 +147,4 @@ public void testGenericFilter() throws Exception {
         Assert.assertEquals(invocation, lastInvocation);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-monitor/dubbo-monitor-default/src/main/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitor.java b/dubbo-monitor/dubbo-monitor-default/src/main/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitor.java
index 7393afed1a..5b96051a8a 100644
--- a/dubbo-monitor/dubbo-monitor-default/src/main/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitor.java
+++ b/dubbo-monitor/dubbo-monitor-default/src/main/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitor.java
@@ -61,6 +61,7 @@ public DubboMonitor(Invoker<MonitorService> monitorInvoker, MonitorService monit
         this.monitorInterval = monitorInvoker.getUrl().getPositiveParameter("interval", 60000);
         // collect timer for collecting statistics data
         sendFuture = scheduledExecutorService.scheduleWithFixedDelay(new Runnable() {
+            @Override
             public void run() {
                 // collect data
                 try {
@@ -133,6 +134,7 @@ public void send() {
         }
     }
 
+    @Override
     public void collect(URL url) {
         // data to collect from url
         int success = url.getParameter(MonitorService.SUCCESS, 0);
@@ -179,18 +181,22 @@ public void collect(URL url) {
         } while (!reference.compareAndSet(current, update));
     }
 
+    @Override
     public List<URL> lookup(URL query) {
         return monitorService.lookup(query);
     }
 
+    @Override
     public URL getUrl() {
         return monitorInvoker.getUrl();
     }
 
+    @Override
     public boolean isAvailable() {
         return monitorInvoker.isAvailable();
     }
 
+    @Override
     public void destroy() {
         try {
             sendFuture.cancel(true);
@@ -200,4 +206,4 @@ public void destroy() {
         monitorInvoker.destroy();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-monitor/dubbo-monitor-default/src/test/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitorTest.java b/dubbo-monitor/dubbo-monitor-default/src/test/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitorTest.java
index 496b46da59..2915419def 100644
--- a/dubbo-monitor/dubbo-monitor-default/src/test/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitorTest.java
+++ b/dubbo-monitor/dubbo-monitor-default/src/test/java/com/alibaba/dubbo/monitor/dubbo/DubboMonitorTest.java
@@ -41,6 +41,7 @@
 public class DubboMonitorTest {
 
     private final Invoker<MonitorService> monitorInvoker = new Invoker<MonitorService>() {
+        @Override
         public Class<MonitorService> getInterface() {
             return MonitorService.class;
         }
@@ -49,6 +50,7 @@ public URL getUrl() {
             return URL.valueOf("dubbo://127.0.0.1:7070?interval=20");
         }
 
+        @Override
         public boolean isAvailable() {
             return false;
         }
@@ -57,6 +59,7 @@ public Result invoke(Invocation invocation) throws RpcException {
             return null;
         }
 
+        @Override
         public void destroy() {
         }
     };
@@ -156,4 +159,4 @@ public void testMonitorFactory() throws Exception {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/integration/RegistryDirectory.java b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/integration/RegistryDirectory.java
index ee37c85c95..e832daec50 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/integration/RegistryDirectory.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/integration/RegistryDirectory.java
@@ -159,6 +159,7 @@ public void subscribe(URL url) {
         registry.subscribe(url, this);
     }
 
+    @Override
     public void destroy() {
         if (isDestroyed()) {
             return;
@@ -179,6 +180,7 @@ public void destroy() {
         }
     }
 
+    @Override
     public synchronized void notify(List<URL> urls) {
         List<URL> invokerUrls = new ArrayList<URL>();
         List<URL> routerUrls = new ArrayList<URL>();
@@ -566,6 +568,7 @@ private void destroyUnusedInvokers(Map<String, Invoker<T>> oldUrlInvokerMap, Map
         }
     }
 
+    @Override
     public List<Invoker<T>> doList(Invocation invocation) {
         if (forbidden) {
             // 1. No service provider 2. Service providers are disabled
@@ -598,14 +601,17 @@ private void destroyUnusedInvokers(Map<String, Invoker<T>> oldUrlInvokerMap, Map
         return invokers == null ? new ArrayList<Invoker<T>>(0) : invokers;
     }
 
+    @Override
     public Class<T> getInterface() {
         return serviceType;
     }
 
+    @Override
     public URL getUrl() {
         return this.overrideDirectoryUrl;
     }
 
+    @Override
     public boolean isAvailable() {
         if (isDestroyed()) {
             return false;
@@ -646,6 +652,7 @@ public static InvokerComparator getComparator() {
             return comparator;
         }
 
+        @Override
         public int compare(Invoker<?> o1, Invoker<?> o2) {
             return o1.getUrl().toString().compareTo(o2.getUrl().toString());
         }
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/integration/RegistryProtocol.java b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/integration/RegistryProtocol.java
index adf42840e3..3f5b731745 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/integration/RegistryProtocol.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/integration/RegistryProtocol.java
@@ -111,6 +111,7 @@ public void setProxyFactory(ProxyFactory proxyFactory) {
         this.proxyFactory = proxyFactory;
     }
 
+    @Override
     public int getDefaultPort() {
         return 9090;
     }
@@ -124,6 +125,7 @@ public void register(URL registryUrl, URL registedProviderUrl) {
         registry.register(registedProviderUrl);
     }
 
+    @Override
     public <T> Exporter<T> export(final Invoker<T> originInvoker) throws RpcException {
         //export invoker
         final ExporterChangeableWrapper<T> exporter = doLocalExport(originInvoker);
@@ -263,6 +265,7 @@ private String getCacheKey(final Invoker<?> originInvoker) {
         return key;
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> Invoker<T> refer(Class<T> type, URL url) throws RpcException {
         url = url.setProtocol(url.getParameter(Constants.REGISTRY_KEY, Constants.DEFAULT_REGISTRY)).removeParameter(Constants.REGISTRY_KEY);
@@ -309,6 +312,7 @@ private Cluster getMergeableCluster() {
         return invoker;
     }
 
+    @Override
     public void destroy() {
         List<Exporter<?>> exporters = new ArrayList<Exporter<?>>(bounds.values());
         for (Exporter<?> exporter : exporters) {
@@ -357,6 +361,7 @@ public OverrideListener(URL subscribeUrl, Invoker originalInvoker) {
         /**
          * @param urls The list of registered information , is always not empty, The meaning is the same as the return value of {@link com.alibaba.dubbo.registry.RegistryService#lookup(URL)}.
          */
+        @Override
         public synchronized void notify(List<URL> urls) {
             logger.debug("original override urls: " + urls);
             List<URL> matchedUrls = getMatchedUrls(urls, subscribeUrl);
@@ -438,6 +443,7 @@ public ExporterChangeableWrapper(Exporter<T> exporter, Invoker<T> originInvoker)
             return originInvoker;
         }
 
+        @Override
         public Invoker<T> getInvoker() {
             return exporter.getInvoker();
         }
@@ -446,6 +452,7 @@ public void setExporter(Exporter<T> exporter) {
             this.exporter = exporter;
         }
 
+        @Override
         public void unexport() {
             String key = getCacheKey(this.originInvoker);
             bounds.remove(key);
@@ -469,10 +476,12 @@ public DestroyableExporter(Exporter<T> exporter, Invoker<T> originInvoker, URL s
             this.registerUrl = registerUrl;
         }
 
+        @Override
         public Invoker<T> getInvoker() {
             return exporter.getInvoker();
         }
 
+        @Override
         public void unexport() {
             Registry registry = RegistryProtocol.INSTANCE.getRegistry(originInvoker);
             try {
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/status/RegistryStatusChecker.java b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/status/RegistryStatusChecker.java
index 998d6cfabd..32986565f1 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/status/RegistryStatusChecker.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/status/RegistryStatusChecker.java
@@ -31,6 +31,7 @@
 @Activate
 public class RegistryStatusChecker implements StatusChecker {
 
+    @Override
     public Status check() {
         Collection<Registry> regsitries = AbstractRegistryFactory.getRegistries();
         if (regsitries == null || regsitries.isEmpty()) {
@@ -53,4 +54,4 @@ public Status check() {
         return new Status(level, buf.toString());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistry.java b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistry.java
index 7b9acfbfbc..8ece0a6b4d 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistry.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistry.java
@@ -103,6 +103,7 @@ public AbstractRegistry(URL url) {
         return urls;
     }
 
+    @Override
     public URL getUrl() {
         return registryUrl;
     }
@@ -230,6 +231,7 @@ private void loadProperties() {
         return null;
     }
 
+    @Override
     public List<URL> lookup(URL url) {
         List<URL> result = new ArrayList<URL>();
         Map<String, List<URL>> notifiedUrls = getNotified().get(url);
@@ -244,6 +246,7 @@ private void loadProperties() {
         } else {
             final AtomicReference<List<URL>> reference = new AtomicReference<List<URL>>();
             NotifyListener listener = new NotifyListener() {
+                @Override
                 public void notify(List<URL> urls) {
                     reference.set(urls);
                 }
@@ -261,6 +264,7 @@ public void notify(List<URL> urls) {
         return result;
     }
 
+    @Override
     public void register(URL url) {
         if (url == null) {
             throw new IllegalArgumentException("register url == null");
@@ -271,6 +275,7 @@ public void register(URL url) {
         registered.add(url);
     }
 
+    @Override
     public void unregister(URL url) {
         if (url == null) {
             throw new IllegalArgumentException("unregister url == null");
@@ -281,6 +286,7 @@ public void unregister(URL url) {
         registered.remove(url);
     }
 
+    @Override
     public void subscribe(URL url, NotifyListener listener) {
         if (url == null) {
             throw new IllegalArgumentException("subscribe url == null");
@@ -299,6 +305,7 @@ public void subscribe(URL url, NotifyListener listener) {
         listeners.add(listener);
     }
 
+    @Override
     public void unsubscribe(URL url, NotifyListener listener) {
         if (url == null) {
             throw new IllegalArgumentException("unsubscribe url == null");
@@ -438,6 +445,7 @@ private void saveProperties(URL url) {
         }
     }
 
+    @Override
     public void destroy() {
         if (logger.isInfoEnabled()) {
             logger.info("Destroy registry:" + getUrl());
@@ -475,6 +483,7 @@ public void destroy() {
         }
     }
 
+    @Override
     public String toString() {
         return getUrl().toString();
     }
@@ -486,9 +495,10 @@ private SaveProperties(long version) {
             this.version = version;
         }
 
+        @Override
         public void run() {
             doSaveProperties(version);
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactory.java b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactory.java
index 1fa4429a2d..5bf35f7f62 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactory.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactory.java
@@ -80,6 +80,7 @@ public static void destroyAll() {
         }
     }
 
+    @Override
     public Registry getRegistry(URL url) {
         url = url.setPath(RegistryService.class.getName())
                 .addParameter(Constants.INTERFACE_KEY, RegistryService.class.getName())
@@ -106,4 +107,4 @@ public Registry getRegistry(URL url) {
 
     protected abstract Registry createRegistry(URL url);
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/ConsumerInvokerWrapper.java b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/ConsumerInvokerWrapper.java
index e0cb8e1079..879ea28f96 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/ConsumerInvokerWrapper.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/ConsumerInvokerWrapper.java
@@ -41,22 +41,27 @@ public ConsumerInvokerWrapper(Invoker<T> invoker, URL registryUrl, URL consumerU
         this.registryDirectory = registryDirectory;
     }
 
+    @Override
     public Class<T> getInterface() {
         return invoker.getInterface();
     }
 
+    @Override
     public URL getUrl() {
         return invoker.getUrl();
     }
 
+    @Override
     public boolean isAvailable() {
         return invoker.isAvailable();
     }
 
+    @Override
     public Result invoke(Invocation invocation) throws RpcException {
         return invoker.invoke(invocation);
     }
 
+    @Override
     public void destroy() {
         invoker.destroy();
     }
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/FailbackRegistry.java b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/FailbackRegistry.java
index 86afffd68d..ced0efad38 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/FailbackRegistry.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/FailbackRegistry.java
@@ -61,6 +61,7 @@ public FailbackRegistry(URL url) {
         super(url);
         int retryPeriod = url.getParameter(Constants.REGISTRY_RETRY_PERIOD_KEY, Constants.DEFAULT_REGISTRY_RETRY_PERIOD);
         this.retryFuture = retryExecutor.scheduleWithFixedDelay(new Runnable() {
+            @Override
             public void run() {
                 // Check and connect to the registry
                 try {
@@ -451,4 +452,4 @@ public void destroy() {
 
     protected abstract void doUnsubscribe(URL url, NotifyListener listener);
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/ProviderInvokerWrapper.java b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/ProviderInvokerWrapper.java
index b60fdf5d65..10d5957695 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/ProviderInvokerWrapper.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/com/alibaba/dubbo/registry/support/ProviderInvokerWrapper.java
@@ -39,22 +39,27 @@ public ProviderInvokerWrapper(Invoker<T> invoker,URL registryUrl,URL providerUrl
         this.providerUrl = providerUrl;
     }
 
+    @Override
     public Class<T> getInterface() {
         return invoker.getInterface();
     }
 
+    @Override
     public URL getUrl() {
         return invoker.getUrl();
     }
 
+    @Override
     public boolean isAvailable() {
         return invoker.isAvailable();
     }
 
+    @Override
     public Result invoke(Invocation invocation) throws RpcException {
         return invoker.invoke(invocation);
     }
 
+    @Override
     public void destroy() {
         invoker.destroy();
     }
diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java b/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java
index eb7f843801..cb2a45473f 100644
--- a/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java
@@ -43,25 +43,32 @@ public URL getUrl() {
                     return url;
                 }
 
+                @Override
                 public boolean isAvailable() {
                     return false;
                 }
 
+                @Override
                 public void destroy() {
                 }
 
+                @Override
                 public void register(URL url) {
                 }
 
+                @Override
                 public void unregister(URL url) {
                 }
 
+                @Override
                 public void subscribe(URL url, NotifyListener listener) {
                 }
 
+                @Override
                 public void unsubscribe(URL url, NotifyListener listener) {
                 }
 
+                @Override
                 public List<URL> lookup(URL url) {
                     return null;
                 }
@@ -92,4 +99,4 @@ public void testRegistryFactoryGroupCache() throws Exception {
         Assert.assertNotSame(registry1, registry2);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/FailbackRegistryTest.java b/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/FailbackRegistryTest.java
index 4d4306d2ff..ed01fce499 100644
--- a/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/FailbackRegistryTest.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/FailbackRegistryTest.java
@@ -64,6 +64,7 @@ public void testDoRetry() throws Exception {
         final CountDownLatch latch = new CountDownLatch(3);//All of them are called 3 times. Successful attempts to reduce the failure of 1. subscribe register will not be done again
 
         NotifyListener listner = new NotifyListener() {
+            @Override
             public void notify(List<URL> urls) {
                 notified.set(Boolean.TRUE);
             }
@@ -121,6 +122,7 @@ public void testDoRetry_register() throws Exception {
         final CountDownLatch latch = new CountDownLatch(1);//All of them are called 4 times. A successful attempt to lose 1. subscribe will not be done
 
         NotifyListener listner = new NotifyListener() {
+            @Override
             public void notify(List<URL> urls) {
                 notified.set(Boolean.TRUE);
             }
@@ -155,6 +157,7 @@ public void testDoRetry_nofify() throws Exception {
         final AtomicInteger count = new AtomicInteger(0);
 
         NotifyListener listner = new NotifyListener() {
+            @Override
             public void notify(List<URL> urls) {
                 count.incrementAndGet();
                 //The exception is thrown for the first time to see if the back will be called again to incrementAndGet
@@ -246,6 +249,7 @@ protected void retry() {
             latch.countDown();
         }
 
+        @Override
         public boolean isAvailable() {
             return true;
         }
diff --git a/dubbo-registry/dubbo-registry-default/src/main/java/com/alibaba/dubbo/registry/dubbo/DubboRegistry.java b/dubbo-registry/dubbo-registry-default/src/main/java/com/alibaba/dubbo/registry/dubbo/DubboRegistry.java
index 6a5218785d..9d5ab70159 100644
--- a/dubbo-registry/dubbo-registry-default/src/main/java/com/alibaba/dubbo/registry/dubbo/DubboRegistry.java
+++ b/dubbo-registry/dubbo-registry-default/src/main/java/com/alibaba/dubbo/registry/dubbo/DubboRegistry.java
@@ -66,6 +66,7 @@ public DubboRegistry(Invoker<RegistryService> registryInvoker, RegistryService r
         // Start reconnection timer
         int reconnectPeriod = registryInvoker.getUrl().getParameter(Constants.REGISTRY_RECONNECT_PERIOD_KEY, RECONNECT_PERIOD_DEFAULT);
         reconnectFuture = scheduledExecutorService.scheduleWithFixedDelay(new Runnable() {
+            @Override
             public void run() {
                 // Check and connect to the registry
                 try {
@@ -107,12 +108,14 @@ protected final void connect() {
         }
     }
 
+    @Override
     public boolean isAvailable() {
         if (registryInvoker == null)
             return false;
         return registryInvoker.isAvailable();
     }
 
+    @Override
     public void destroy() {
         super.destroy();
         try {
@@ -126,24 +129,29 @@ public void destroy() {
         registryInvoker.destroy();
     }
 
+    @Override
     protected void doRegister(URL url) {
         registryService.register(url);
     }
 
+    @Override
     protected void doUnregister(URL url) {
         registryService.unregister(url);
     }
 
+    @Override
     protected void doSubscribe(URL url, NotifyListener listener) {
         registryService.subscribe(url, listener);
     }
 
+    @Override
     protected void doUnsubscribe(URL url, NotifyListener listener) {
         registryService.unsubscribe(url, listener);
     }
 
+    @Override
     public List<URL> lookup(URL url) {
         return registryService.lookup(url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-default/src/main/java/com/alibaba/dubbo/registry/dubbo/DubboRegistryFactory.java b/dubbo-registry/dubbo-registry-default/src/main/java/com/alibaba/dubbo/registry/dubbo/DubboRegistryFactory.java
index c5be79c9af..6a2d5ca88d 100644
--- a/dubbo-registry/dubbo-registry-default/src/main/java/com/alibaba/dubbo/registry/dubbo/DubboRegistryFactory.java
+++ b/dubbo-registry/dubbo-registry-default/src/main/java/com/alibaba/dubbo/registry/dubbo/DubboRegistryFactory.java
@@ -75,6 +75,7 @@ public void setCluster(Cluster cluster) {
         this.cluster = cluster;
     }
 
+    @Override
     public Registry createRegistry(URL url) {
         url = getRegistryURL(url);
         List<URL> urls = new ArrayList<URL>();
@@ -96,4 +97,4 @@ public Registry createRegistry(URL url) {
         directory.subscribe(new URL(Constants.CONSUMER_PROTOCOL, NetUtils.getLocalHost(), 0, RegistryService.class.getName(), url.getParameters()));
         return registry;
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/AbstractRegistryService.java b/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/AbstractRegistryService.java
index 5afca4431e..67665b3433 100644
--- a/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/AbstractRegistryService.java
+++ b/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/AbstractRegistryService.java
@@ -55,6 +55,7 @@
     // Map<serviceName, List<notificationListener>>
     private final ConcurrentMap<String, List<NotifyListener>> notifyListeners = new ConcurrentHashMap<String, List<NotifyListener>>();
 
+    @Override
     public void register(URL url) {
         if (logger.isInfoEnabled()) {
             logger.info("Register service: " + url.getServiceKey() + ",url:" + url);
@@ -62,6 +63,7 @@ public void register(URL url) {
         register(url.getServiceKey(), url);
     }
 
+    @Override
     public void unregister(URL url) {
         if (logger.isInfoEnabled()) {
             logger.info("Unregister service: " + url.getServiceKey() + ",url:" + url);
@@ -69,6 +71,7 @@ public void unregister(URL url) {
         unregister(url.getServiceKey(), url);
     }
 
+    @Override
     public void subscribe(URL url, NotifyListener listener) {
         if (logger.isInfoEnabled()) {
             logger.info("Subscribe service: " + url.getServiceKey() + ",url:" + url);
@@ -76,6 +79,7 @@ public void subscribe(URL url, NotifyListener listener) {
         subscribe(url.getServiceKey(), url, listener);
     }
 
+    @Override
     public void unsubscribe(URL url, NotifyListener listener) {
         if (logger.isInfoEnabled()) {
             logger.info("Unsubscribe service: " + url.getServiceKey() + ",url:" + url);
@@ -83,6 +87,7 @@ public void unsubscribe(URL url, NotifyListener listener) {
         unsubscribe(url.getServiceKey(), url, listener);
     }
 
+    @Override
     public List<URL> lookup(URL url) {
         return getRegistered(url.getServiceKey());
     }
@@ -237,4 +242,4 @@ protected final void notify(String service, List<URL> urls) {
         return Collections.unmodifiableMap(notifyListeners);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/MockChannel.java b/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/MockChannel.java
index e5c286bd69..581a4ff997 100644
--- a/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/MockChannel.java
+++ b/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/MockChannel.java
@@ -38,25 +38,31 @@ public MockChannel(String localHostname, int localPort, String remoteHostName, i
         closed = false;
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return localAddress;
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return remoteAddress;
     }
 
+    @Override
     public boolean isConnected() {
         return true;
     }
 
+    @Override
     public void close() {
         closed = true;
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
     }
 
+    @Override
     public void close(int timeout) {
     }
 
@@ -65,6 +71,7 @@ public void startClose() {
         closing = true;
     }
 
+    @Override
     public URL getUrl() {
         return null;
     }
@@ -73,6 +80,7 @@ public ResponseFuture send(Object request, int timeout) throws RemotingException
         return null;
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return null;
     }
@@ -89,28 +97,34 @@ public ExchangeHandler getExchangeHandler() {
         return null;
     }
 
+    @Override
     public Object getAttribute(String key) {
         return null;
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
 
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return false;
     }
 
+    @Override
     public boolean isClosed() {
         return false;
     }
 
+    @Override
     public void removeAttribute(String key) {
 
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
 
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/MockedClient.java b/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/MockedClient.java
index fd3bbda606..f1a2e53f08 100644
--- a/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/MockedClient.java
+++ b/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/MockedClient.java
@@ -69,10 +69,12 @@ public MockedClient(String host, int port, boolean connected, Object received) {
     public void open() {
     }
 
+    @Override
     public void close() {
         this.closed = true;
     }
 
+    @Override
     public void send(Object msg) throws RemotingException {
         this.sent = msg;
     }
@@ -117,6 +119,7 @@ public void removeChannelListener(ChannelHandler listener) {
         //this.listener = null;
     }
 
+    @Override
     public boolean isConnected() {
         return connected;
     }
@@ -140,6 +143,7 @@ public Object getInvoked() {
         return invoked;
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return address;
     }
@@ -148,6 +152,7 @@ public String getName() {
         return "mocked";
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return null;
     }
@@ -159,6 +164,7 @@ public int getTimeout() {
     public void setTimeout(int timeout) {
     }
 
+    @Override
     public void close(int timeout) {
         close();
     }
@@ -200,6 +206,7 @@ public int getThreadCount() {
     public void setThreadCount(int threadCount) {
     }
 
+    @Override
     public URL getUrl() {
         return null;
     }
@@ -208,6 +215,7 @@ public URL getUrl() {
         return null;
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return null;
     }
@@ -223,25 +231,31 @@ public ExchangeHandler getExchangeHandler() {
         return null;
     }
 
+    @Override
     public void reconnect() throws RemotingException {
     }
 
+    @Override
     public Object getAttribute(String key) {
         return null;
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
 
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return false;
     }
 
+    @Override
     public boolean isClosed() {
         return closed;
     }
 
+    @Override
     public void removeAttribute(String key) {
 
     }
@@ -260,9 +274,11 @@ public void setReceived(Object received) {
         this.received = received;
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
     }
 
+    @Override
     public void reset(URL url) {
     }
 
@@ -270,4 +286,4 @@ public void reset(URL url) {
     public void reset(com.alibaba.dubbo.common.Parameters parameters) {
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/RegistryDirectoryTest.java b/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/RegistryDirectoryTest.java
index 298d301e54..3463407f92 100644
--- a/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/RegistryDirectoryTest.java
+++ b/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/RegistryDirectoryTest.java
@@ -1035,22 +1035,27 @@ public MockRegistry(boolean destroyWithError) {
             this.destroyWithError = destroyWithError;
         }
 
+        @Override
         public void register(URL url) {
 
         }
 
+        @Override
         public void unregister(URL url) {
 
         }
 
+        @Override
         public void subscribe(URL url, NotifyListener listener) {
 
         }
 
+        @Override
         public void unsubscribe(URL url, NotifyListener listener) {
             if (latch != null) latch.countDown();
         }
 
+        @Override
         public List<URL> lookup(URL url) {
             return null;
         }
@@ -1059,14 +1064,16 @@ public URL getUrl() {
             return null;
         }
 
+        @Override
         public boolean isAvailable() {
             return true;
         }
 
+        @Override
         public void destroy() {
             if (destroyWithError) {
                 throw new RpcException("test exception ignore.");
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/RegistryProtocolTest.java b/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/RegistryProtocolTest.java
index f55ac416d7..57eb695b38 100644
--- a/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/RegistryProtocolTest.java
+++ b/dubbo-registry/dubbo-registry-default/src/test/java/com/alibaba/dubbo/registry/dubbo/RegistryProtocolTest.java
@@ -181,9 +181,10 @@ public MockRegistry(URL url) {
             super(url);
         }
 
+        @Override
         public boolean isAvailable() {
             return true;
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistry.java b/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistry.java
index e90edef2c0..aa499fc1bc 100644
--- a/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistry.java
+++ b/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistry.java
@@ -88,6 +88,7 @@ public MulticastRegistry(URL url) {
             mutilcastSocket.setLoopbackMode(false);
             mutilcastSocket.joinGroup(mutilcastAddress);
             Thread thread = new Thread(new Runnable() {
+                @Override
                 public void run() {
                     byte[] buf = new byte[2048];
                     DatagramPacket recv = new DatagramPacket(buf, buf.length);
@@ -117,6 +118,7 @@ public void run() {
         this.cleanPeriod = url.getParameter(Constants.SESSION_TIMEOUT_KEY, Constants.DEFAULT_SESSION_TIMEOUT);
         if (url.getParameter("clean", true)) {
             this.cleanFuture = cleanExecutor.scheduleWithFixedDelay(new Runnable() {
+                @Override
                 public void run() {
                     try {
                         clean(); // Remove the expired
@@ -254,14 +256,17 @@ private void unicast(String msg, String host) {
         }
     }
 
+    @Override
     protected void doRegister(URL url) {
         broadcast(Constants.REGISTER + " " + url.toFullString());
     }
 
+    @Override
     protected void doUnregister(URL url) {
         broadcast(Constants.UNREGISTER + " " + url.toFullString());
     }
 
+    @Override
     protected void doSubscribe(URL url, NotifyListener listener) {
         if (Constants.ANY_VALUE.equals(url.getServiceInterface())) {
             admin = true;
@@ -275,6 +280,7 @@ protected void doSubscribe(URL url, NotifyListener listener) {
         }
     }
 
+    @Override
     protected void doUnsubscribe(URL url, NotifyListener listener) {
         if (!Constants.ANY_VALUE.equals(url.getServiceInterface())
                 && url.getParameter(Constants.REGISTER_KEY, true)) {
@@ -283,6 +289,7 @@ protected void doUnsubscribe(URL url, NotifyListener listener) {
         broadcast(Constants.UNSUBSCRIBE + " " + url.toFullString());
     }
 
+    @Override
     public boolean isAvailable() {
         try {
             return mutilcastSocket != null;
@@ -291,6 +298,7 @@ public boolean isAvailable() {
         }
     }
 
+    @Override
     public void destroy() {
         super.destroy();
         try {
@@ -367,26 +375,31 @@ protected void subscribed(URL url, NotifyListener listener) {
         return list;
     }
 
+    @Override
     public void register(URL url) {
         super.register(url);
         registered(url);
     }
 
+    @Override
     public void unregister(URL url) {
         super.unregister(url);
         unregistered(url);
     }
 
+    @Override
     public void subscribe(URL url, NotifyListener listener) {
         super.subscribe(url, listener);
         subscribed(url, listener);
     }
 
+    @Override
     public void unsubscribe(URL url, NotifyListener listener) {
         super.unsubscribe(url, listener);
         received.remove(url);
     }
 
+    @Override
     public List<URL> lookup(URL url) {
         List<URL> urls = new ArrayList<URL>();
         Map<String, List<URL>> notifiedUrls = getNotified().get(url);
@@ -426,4 +439,4 @@ public MulticastSocket getMutilcastSocket() {
         return received;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistryFactory.java b/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistryFactory.java
index 5b81456285..12fd13cbda 100644
--- a/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistryFactory.java
+++ b/dubbo-registry/dubbo-registry-multicast/src/main/java/com/alibaba/dubbo/registry/multicast/MulticastRegistryFactory.java
@@ -26,8 +26,9 @@
  */
 public class MulticastRegistryFactory extends AbstractRegistryFactory {
 
+    @Override
     public Registry createRegistry(URL url) {
         return new MulticastRegistry(url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-multicast/src/test/java/com/alibaba/dubbo/registry/multicast/MulticastRegistryTest.java b/dubbo-registry/dubbo-registry-multicast/src/test/java/com/alibaba/dubbo/registry/multicast/MulticastRegistryTest.java
index bfae2018dd..e37b7a85a2 100644
--- a/dubbo-registry/dubbo-registry-multicast/src/test/java/com/alibaba/dubbo/registry/multicast/MulticastRegistryTest.java
+++ b/dubbo-registry/dubbo-registry-multicast/src/test/java/com/alibaba/dubbo/registry/multicast/MulticastRegistryTest.java
@@ -98,6 +98,7 @@ public void testSubscribe() {
         final AtomicReference<URL> args = new AtomicReference<URL>();
         registry.subscribe(consumerUrl, new NotifyListener() {
 
+            @Override
             public void notify(List<URL> urls) {
                 // FIXME assertEquals(MulticastRegistry.this.service, service);
                 args.set(urls.get(0));
@@ -120,4 +121,4 @@ public void testDefaultPort() {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-redis/src/main/java/com/alibaba/dubbo/registry/redis/RedisRegistry.java b/dubbo-registry/dubbo-registry-redis/src/main/java/com/alibaba/dubbo/registry/redis/RedisRegistry.java
index 4cc87dd6b6..ea4b22cba0 100644
--- a/dubbo-registry/dubbo-registry-redis/src/main/java/com/alibaba/dubbo/registry/redis/RedisRegistry.java
+++ b/dubbo-registry/dubbo-registry-redis/src/main/java/com/alibaba/dubbo/registry/redis/RedisRegistry.java
@@ -152,6 +152,7 @@ public RedisRegistry(URL url) {
 
         this.expirePeriod = url.getParameter(Constants.SESSION_TIMEOUT_KEY, Constants.DEFAULT_SESSION_TIMEOUT);
         this.expireFuture = expireExecutor.scheduleWithFixedDelay(new Runnable() {
+            @Override
             public void run() {
                 try {
                     deferExpired(); // Extend the expiration time
@@ -221,6 +222,7 @@ private void clean(Jedis jedis) {
         }
     }
 
+    @Override
     public boolean isAvailable() {
         for (JedisPool jedisPool : jedisPools.values()) {
             try {
diff --git a/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java b/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java
index dcce7e4d49..8bebf53158 100644
--- a/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java
+++ b/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java
@@ -68,6 +68,7 @@ public ZookeeperRegistry(URL url, ZookeeperTransporter zookeeperTransporter) {
         this.root = group;
         zkClient = zookeeperTransporter.connect(url);
         zkClient.addStateListener(new StateListener() {
+            @Override
             public void stateChanged(int state) {
                 if (state == RECONNECTED) {
                     try {
@@ -92,10 +93,12 @@ static String appendDefaultPort(String address) {
         return address;
     }
 
+    @Override
     public boolean isAvailable() {
         return zkClient.isConnected();
     }
 
+    @Override
     public void destroy() {
         super.destroy();
         try {
@@ -105,6 +108,7 @@ public void destroy() {
         }
     }
 
+    @Override
     protected void doRegister(URL url) {
         try {
             zkClient.create(toUrlPath(url), url.getParameter(Constants.DYNAMIC_KEY, true));
@@ -113,6 +117,7 @@ protected void doRegister(URL url) {
         }
     }
 
+    @Override
     protected void doUnregister(URL url) {
         try {
             zkClient.delete(toUrlPath(url));
@@ -121,6 +126,7 @@ protected void doUnregister(URL url) {
         }
     }
 
+    @Override
     protected void doSubscribe(final URL url, final NotifyListener listener) {
         try {
             if (Constants.ANY_VALUE.equals(url.getServiceInterface())) {
@@ -133,6 +139,7 @@ protected void doSubscribe(final URL url, final NotifyListener listener) {
                 ChildListener zkListener = listeners.get(listener);
                 if (zkListener == null) {
                     listeners.putIfAbsent(listener, new ChildListener() {
+                        @Override
                         public void childChanged(String parentPath, List<String> currentChilds) {
                             for (String child : currentChilds) {
                                 child = URL.decode(child);
@@ -167,6 +174,7 @@ public void childChanged(String parentPath, List<String> currentChilds) {
                     ChildListener zkListener = listeners.get(listener);
                     if (zkListener == null) {
                         listeners.putIfAbsent(listener, new ChildListener() {
+                            @Override
                             public void childChanged(String parentPath, List<String> currentChilds) {
                                 ZookeeperRegistry.this.notify(url, listener, toUrlsWithEmpty(url, parentPath, currentChilds));
                             }
@@ -186,6 +194,7 @@ public void childChanged(String parentPath, List<String> currentChilds) {
         }
     }
 
+    @Override
     protected void doUnsubscribe(URL url, NotifyListener listener) {
         ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.get(url);
         if (listeners != null) {
@@ -196,6 +205,7 @@ protected void doUnsubscribe(URL url, NotifyListener listener) {
         }
     }
 
+    @Override
     public List<URL> lookup(URL url) {
         if (url == null) {
             throw new IllegalArgumentException("lookup url == null");
@@ -283,4 +293,4 @@ private String toUrlPath(URL url) {
         return urls;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistryFactory.java b/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistryFactory.java
index d0bba0a132..94eff83a4b 100644
--- a/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistryFactory.java
+++ b/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistryFactory.java
@@ -33,8 +33,9 @@ public void setZookeeperTransporter(ZookeeperTransporter zookeeperTransporter) {
         this.zookeeperTransporter = zookeeperTransporter;
     }
 
+    @Override
     public Registry createRegistry(URL url) {
         return new ZookeeperRegistry(url, zookeeperTransporter);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/AbstractChannelBuffer.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/AbstractChannelBuffer.java
index 6347c0d085..b924de2e9c 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/AbstractChannelBuffer.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/AbstractChannelBuffer.java
@@ -32,10 +32,12 @@
 
     private int markedWriterIndex;
 
+    @Override
     public int readerIndex() {
         return readerIndex;
     }
 
+    @Override
     public void readerIndex(int readerIndex) {
         if (readerIndex < 0 || readerIndex > writerIndex) {
             throw new IndexOutOfBoundsException();
@@ -43,10 +45,12 @@ public void readerIndex(int readerIndex) {
         this.readerIndex = readerIndex;
     }
 
+    @Override
     public int writerIndex() {
         return writerIndex;
     }
 
+    @Override
     public void writerIndex(int writerIndex) {
         if (writerIndex < readerIndex || writerIndex > capacity()) {
             throw new IndexOutOfBoundsException();
@@ -54,6 +58,7 @@ public void writerIndex(int writerIndex) {
         this.writerIndex = writerIndex;
     }
 
+    @Override
     public void setIndex(int readerIndex, int writerIndex) {
         if (readerIndex < 0 || readerIndex > writerIndex || writerIndex > capacity()) {
             throw new IndexOutOfBoundsException();
@@ -62,42 +67,52 @@ public void setIndex(int readerIndex, int writerIndex) {
         this.writerIndex = writerIndex;
     }
 
+    @Override
     public void clear() {
         readerIndex = writerIndex = 0;
     }
 
+    @Override
     public boolean readable() {
         return readableBytes() > 0;
     }
 
+    @Override
     public boolean writable() {
         return writableBytes() > 0;
     }
 
+    @Override
     public int readableBytes() {
         return writerIndex - readerIndex;
     }
 
+    @Override
     public int writableBytes() {
         return capacity() - writerIndex;
     }
 
+    @Override
     public void markReaderIndex() {
         markedReaderIndex = readerIndex;
     }
 
+    @Override
     public void resetReaderIndex() {
         readerIndex(markedReaderIndex);
     }
 
+    @Override
     public void markWriterIndex() {
         markedWriterIndex = writerIndex;
     }
 
+    @Override
     public void resetWriterIndex() {
         writerIndex = markedWriterIndex;
     }
 
+    @Override
     public void discardReadBytes() {
         if (readerIndex == 0) {
             return;
@@ -109,20 +124,24 @@ public void discardReadBytes() {
         readerIndex = 0;
     }
 
+    @Override
     public void ensureWritableBytes(int writableBytes) {
         if (writableBytes > writableBytes()) {
             throw new IndexOutOfBoundsException();
         }
     }
 
+    @Override
     public void getBytes(int index, byte[] dst) {
         getBytes(index, dst, 0, dst.length);
     }
 
+    @Override
     public void getBytes(int index, ChannelBuffer dst) {
         getBytes(index, dst, dst.writableBytes());
     }
 
+    @Override
     public void getBytes(int index, ChannelBuffer dst, int length) {
         if (length > dst.writableBytes()) {
             throw new IndexOutOfBoundsException();
@@ -131,14 +150,17 @@ public void getBytes(int index, ChannelBuffer dst, int length) {
         dst.writerIndex(dst.writerIndex() + length);
     }
 
+    @Override
     public void setBytes(int index, byte[] src) {
         setBytes(index, src, 0, src.length);
     }
 
+    @Override
     public void setBytes(int index, ChannelBuffer src) {
         setBytes(index, src, src.readableBytes());
     }
 
+    @Override
     public void setBytes(int index, ChannelBuffer src, int length) {
         if (length > src.readableBytes()) {
             throw new IndexOutOfBoundsException();
@@ -147,6 +169,7 @@ public void setBytes(int index, ChannelBuffer src, int length) {
         src.readerIndex(src.readerIndex() + length);
     }
 
+    @Override
     public byte readByte() {
         if (readerIndex == writerIndex) {
             throw new IndexOutOfBoundsException();
@@ -154,6 +177,7 @@ public byte readByte() {
         return getByte(readerIndex++);
     }
 
+    @Override
     public ChannelBuffer readBytes(int length) {
         checkReadableBytes(length);
         if (length == 0) {
@@ -165,20 +189,24 @@ public ChannelBuffer readBytes(int length) {
         return buf;
     }
 
+    @Override
     public void readBytes(byte[] dst, int dstIndex, int length) {
         checkReadableBytes(length);
         getBytes(readerIndex, dst, dstIndex, length);
         readerIndex += length;
     }
 
+    @Override
     public void readBytes(byte[] dst) {
         readBytes(dst, 0, dst.length);
     }
 
+    @Override
     public void readBytes(ChannelBuffer dst) {
         readBytes(dst, dst.writableBytes());
     }
 
+    @Override
     public void readBytes(ChannelBuffer dst, int length) {
         if (length > dst.writableBytes()) {
             throw new IndexOutOfBoundsException();
@@ -187,12 +215,14 @@ public void readBytes(ChannelBuffer dst, int length) {
         dst.writerIndex(dst.writerIndex() + length);
     }
 
+    @Override
     public void readBytes(ChannelBuffer dst, int dstIndex, int length) {
         checkReadableBytes(length);
         getBytes(readerIndex, dst, dstIndex, length);
         readerIndex += length;
     }
 
+    @Override
     public void readBytes(ByteBuffer dst) {
         int length = dst.remaining();
         checkReadableBytes(length);
@@ -200,12 +230,14 @@ public void readBytes(ByteBuffer dst) {
         readerIndex += length;
     }
 
+    @Override
     public void readBytes(OutputStream out, int length) throws IOException {
         checkReadableBytes(length);
         getBytes(readerIndex, out, length);
         readerIndex += length;
     }
 
+    @Override
     public void skipBytes(int length) {
         int newReaderIndex = readerIndex + length;
         if (newReaderIndex > writerIndex) {
@@ -214,23 +246,28 @@ public void skipBytes(int length) {
         readerIndex = newReaderIndex;
     }
 
+    @Override
     public void writeByte(int value) {
         setByte(writerIndex++, value);
     }
 
+    @Override
     public void writeBytes(byte[] src, int srcIndex, int length) {
         setBytes(writerIndex, src, srcIndex, length);
         writerIndex += length;
     }
 
+    @Override
     public void writeBytes(byte[] src) {
         writeBytes(src, 0, src.length);
     }
 
+    @Override
     public void writeBytes(ChannelBuffer src) {
         writeBytes(src, src.readableBytes());
     }
 
+    @Override
     public void writeBytes(ChannelBuffer src, int length) {
         if (length > src.readableBytes()) {
             throw new IndexOutOfBoundsException();
@@ -239,17 +276,20 @@ public void writeBytes(ChannelBuffer src, int length) {
         src.readerIndex(src.readerIndex() + length);
     }
 
+    @Override
     public void writeBytes(ChannelBuffer src, int srcIndex, int length) {
         setBytes(writerIndex, src, srcIndex, length);
         writerIndex += length;
     }
 
+    @Override
     public void writeBytes(ByteBuffer src) {
         int length = src.remaining();
         setBytes(writerIndex, src);
         writerIndex += length;
     }
 
+    @Override
     public int writeBytes(InputStream in, int length) throws IOException {
         int writtenBytes = setBytes(writerIndex, in, length);
         if (writtenBytes > 0) {
@@ -258,10 +298,12 @@ public int writeBytes(InputStream in, int length) throws IOException {
         return writtenBytes;
     }
 
+    @Override
     public ChannelBuffer copy() {
         return copy(readerIndex, readableBytes());
     }
 
+    @Override
     public ByteBuffer toByteBuffer() {
         return toByteBuffer(readerIndex, readableBytes());
     }
@@ -272,6 +314,7 @@ public boolean equals(Object o) {
                 && ChannelBuffers.equals(this, (ChannelBuffer) o);
     }
 
+    @Override
     public int compareTo(ChannelBuffer that) {
         return ChannelBuffers.compare(this, that);
     }
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/ByteBufferBackedChannelBuffer.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/ByteBufferBackedChannelBuffer.java
index 4d5e2eb2af..54447f9c0d 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/ByteBufferBackedChannelBuffer.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/ByteBufferBackedChannelBuffer.java
@@ -44,6 +44,7 @@ public ByteBufferBackedChannelBuffer(ByteBufferBackedChannelBuffer buffer) {
         setIndex(buffer.readerIndex(), buffer.writerIndex());
     }
 
+    @Override
     public ChannelBufferFactory factory() {
         if (buffer.isDirect()) {
             return DirectChannelBufferFactory.getInstance();
@@ -53,11 +54,13 @@ public ChannelBufferFactory factory() {
     }
 
 
+    @Override
     public int capacity() {
         return capacity;
     }
 
 
+    @Override
     public ChannelBuffer copy(int index, int length) {
         ByteBuffer src;
         try {
@@ -75,11 +78,13 @@ public ChannelBuffer copy(int index, int length) {
     }
 
 
+    @Override
     public byte getByte(int index) {
         return buffer.get(index);
     }
 
 
+    @Override
     public void getBytes(int index, byte[] dst, int dstIndex, int length) {
         ByteBuffer data = buffer.duplicate();
         try {
@@ -91,6 +96,7 @@ public void getBytes(int index, byte[] dst, int dstIndex, int length) {
     }
 
 
+    @Override
     public void getBytes(int index, ByteBuffer dst) {
         ByteBuffer data = buffer.duplicate();
         int bytesToCopy = Math.min(capacity() - index, dst.remaining());
@@ -103,6 +109,7 @@ public void getBytes(int index, ByteBuffer dst) {
     }
 
 
+    @Override
     public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length) {
         if (dst instanceof ByteBufferBackedChannelBuffer) {
             ByteBufferBackedChannelBuffer bbdst = (ByteBufferBackedChannelBuffer) dst;
@@ -118,6 +125,7 @@ public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length) {
     }
 
 
+    @Override
     public void getBytes(int index, OutputStream out, int length) throws IOException {
         if (length == 0) {
             return;
@@ -136,16 +144,19 @@ public void getBytes(int index, OutputStream out, int length) throws IOException
     }
 
 
+    @Override
     public boolean isDirect() {
         return buffer.isDirect();
     }
 
 
+    @Override
     public void setByte(int index, int value) {
         buffer.put(index, (byte) value);
     }
 
 
+    @Override
     public void setBytes(int index, byte[] src, int srcIndex, int length) {
         ByteBuffer data = buffer.duplicate();
         data.limit(index + length).position(index);
@@ -153,6 +164,7 @@ public void setBytes(int index, byte[] src, int srcIndex, int length) {
     }
 
 
+    @Override
     public void setBytes(int index, ByteBuffer src) {
         ByteBuffer data = buffer.duplicate();
         data.limit(index + src.remaining()).position(index);
@@ -160,6 +172,7 @@ public void setBytes(int index, ByteBuffer src) {
     }
 
 
+    @Override
     public void setBytes(int index, ChannelBuffer src, int srcIndex, int length) {
         if (src instanceof ByteBufferBackedChannelBuffer) {
             ByteBufferBackedChannelBuffer bbsrc = (ByteBufferBackedChannelBuffer) src;
@@ -175,6 +188,7 @@ public void setBytes(int index, ChannelBuffer src, int srcIndex, int length) {
     }
 
 
+    @Override
     public ByteBuffer toByteBuffer(int index, int length) {
         if (index == 0 && length == capacity()) {
             return buffer.duplicate();
@@ -185,6 +199,7 @@ public ByteBuffer toByteBuffer(int index, int length) {
     }
 
 
+    @Override
     public int setBytes(int index, InputStream in, int length) throws IOException {
         int readBytes = 0;
 
@@ -225,16 +240,19 @@ public int setBytes(int index, InputStream in, int length) throws IOException {
     }
 
 
+    @Override
     public byte[] array() {
         return buffer.array();
     }
 
 
+    @Override
     public boolean hasArray() {
         return buffer.hasArray();
     }
 
 
+    @Override
     public int arrayOffset() {
         return buffer.arrayOffset();
     }
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/ChannelBuffer.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/ChannelBuffer.java
index da669cfa20..4771d16a88 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/ChannelBuffer.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/ChannelBuffer.java
@@ -274,6 +274,7 @@
      * method also returns {@code false} for {@code null} and an object which is
      * not an instance of {@link ChannelBuffer} type.
      */
+    @Override
     public boolean equals(Object o);
 
     /**
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferFactory.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferFactory.java
index 18a646ecb3..ec6707018e 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferFactory.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferFactory.java
@@ -31,6 +31,7 @@ public static ChannelBufferFactory getInstance() {
         return INSTANCE;
     }
 
+    @Override
     public ChannelBuffer getBuffer(int capacity) {
         if (capacity < 0) {
             throw new IllegalArgumentException("capacity: " + capacity);
@@ -41,6 +42,7 @@ public ChannelBuffer getBuffer(int capacity) {
         return ChannelBuffers.directBuffer(capacity);
     }
 
+    @Override
     public ChannelBuffer getBuffer(byte[] array, int offset, int length) {
         if (array == null) {
             throw new NullPointerException("array");
@@ -60,6 +62,7 @@ public ChannelBuffer getBuffer(byte[] array, int offset, int length) {
         return buf;
     }
 
+    @Override
     public ChannelBuffer getBuffer(ByteBuffer nioBuffer) {
         if (!nioBuffer.isReadOnly() && nioBuffer.isDirect()) {
             return ChannelBuffers.wrappedBuffer(nioBuffer);
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/DynamicChannelBuffer.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/DynamicChannelBuffer.java
index 7f9c563b7e..2cb4851c98 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/DynamicChannelBuffer.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/DynamicChannelBuffer.java
@@ -66,11 +66,13 @@ public void ensureWritableBytes(int minWritableBytes) {
     }
 
 
+    @Override
     public int capacity() {
         return buffer.capacity();
     }
 
 
+    @Override
     public ChannelBuffer copy(int index, int length) {
         DynamicChannelBuffer copiedBuffer = new DynamicChannelBuffer(Math.max(length, 64), factory());
         copiedBuffer.buffer = buffer.copy(index, length);
@@ -79,66 +81,79 @@ public ChannelBuffer copy(int index, int length) {
     }
 
 
+    @Override
     public ChannelBufferFactory factory() {
         return factory;
     }
 
 
+    @Override
     public byte getByte(int index) {
         return buffer.getByte(index);
     }
 
 
+    @Override
     public void getBytes(int index, byte[] dst, int dstIndex, int length) {
         buffer.getBytes(index, dst, dstIndex, length);
     }
 
 
+    @Override
     public void getBytes(int index, ByteBuffer dst) {
         buffer.getBytes(index, dst);
     }
 
 
+    @Override
     public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length) {
         buffer.getBytes(index, dst, dstIndex, length);
     }
 
 
+    @Override
     public void getBytes(int index, OutputStream dst, int length) throws IOException {
         buffer.getBytes(index, dst, length);
     }
 
 
+    @Override
     public boolean isDirect() {
         return buffer.isDirect();
     }
 
 
+    @Override
     public void setByte(int index, int value) {
         buffer.setByte(index, value);
     }
 
 
+    @Override
     public void setBytes(int index, byte[] src, int srcIndex, int length) {
         buffer.setBytes(index, src, srcIndex, length);
     }
 
 
+    @Override
     public void setBytes(int index, ByteBuffer src) {
         buffer.setBytes(index, src);
     }
 
 
+    @Override
     public void setBytes(int index, ChannelBuffer src, int srcIndex, int length) {
         buffer.setBytes(index, src, srcIndex, length);
     }
 
 
+    @Override
     public int setBytes(int index, InputStream src, int length) throws IOException {
         return buffer.setBytes(index, src, length);
     }
 
 
+    @Override
     public ByteBuffer toByteBuffer(int index, int length) {
         return buffer.toByteBuffer(index, length);
     }
@@ -174,16 +189,19 @@ public int writeBytes(InputStream in, int length) throws IOException {
     }
 
 
+    @Override
     public byte[] array() {
         return buffer.array();
     }
 
 
+    @Override
     public boolean hasArray() {
         return buffer.hasArray();
     }
 
 
+    @Override
     public int arrayOffset() {
         return buffer.arrayOffset();
     }
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBuffer.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBuffer.java
index e61a7d0534..952b693b60 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBuffer.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBuffer.java
@@ -65,30 +65,37 @@ protected HeapChannelBuffer(byte[] array, int readerIndex, int writerIndex) {
         setIndex(readerIndex, writerIndex);
     }
 
+    @Override
     public boolean isDirect() {
         return false;
     }
 
+    @Override
     public int capacity() {
         return array.length;
     }
 
+    @Override
     public boolean hasArray() {
         return true;
     }
 
+    @Override
     public byte[] array() {
         return array;
     }
 
+    @Override
     public int arrayOffset() {
         return 0;
     }
 
+    @Override
     public byte getByte(int index) {
         return array[index];
     }
 
+    @Override
     public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length) {
         if (dst instanceof HeapChannelBuffer) {
             getBytes(index, ((HeapChannelBuffer) dst).array, dstIndex, length);
@@ -97,14 +104,17 @@ public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length) {
         }
     }
 
+    @Override
     public void getBytes(int index, byte[] dst, int dstIndex, int length) {
         System.arraycopy(array, index, dst, dstIndex, length);
     }
 
+    @Override
     public void getBytes(int index, ByteBuffer dst) {
         dst.put(array, index, Math.min(capacity() - index, dst.remaining()));
     }
 
+    @Override
     public void getBytes(int index, OutputStream out, int length)
             throws IOException {
         out.write(array, index, length);
@@ -115,10 +125,12 @@ public int getBytes(int index, GatheringByteChannel out, int length)
         return out.write(ByteBuffer.wrap(array, index, length));
     }
 
+    @Override
     public void setByte(int index, int value) {
         array[index] = (byte) value;
     }
 
+    @Override
     public void setBytes(int index, ChannelBuffer src, int srcIndex, int length) {
         if (src instanceof HeapChannelBuffer) {
             setBytes(index, ((HeapChannelBuffer) src).array, srcIndex, length);
@@ -127,14 +139,17 @@ public void setBytes(int index, ChannelBuffer src, int srcIndex, int length) {
         }
     }
 
+    @Override
     public void setBytes(int index, byte[] src, int srcIndex, int length) {
         System.arraycopy(src, srcIndex, array, index, length);
     }
 
+    @Override
     public void setBytes(int index, ByteBuffer src) {
         src.get(array, index, src.remaining());
     }
 
+    @Override
     public int setBytes(int index, InputStream in, int length) throws IOException {
         int readBytes = 0;
         do {
@@ -180,6 +195,7 @@ public int setBytes(int index, ScatteringByteChannel in, int length) throws IOEx
         return readBytes;
     }
 
+    @Override
     public ChannelBuffer copy(int index, int length) {
         if (index < 0 || length < 0 || index + length > array.length) {
             throw new IndexOutOfBoundsException();
@@ -190,10 +206,12 @@ public ChannelBuffer copy(int index, int length) {
         return new HeapChannelBuffer(copiedArray);
     }
 
+    @Override
     public ChannelBufferFactory factory() {
         return HeapChannelBufferFactory.getInstance();
     }
 
+    @Override
     public ByteBuffer toByteBuffer(int index, int length) {
         return ByteBuffer.wrap(array, index, length);
     }
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferFactory.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferFactory.java
index d91f2c2f15..88628a0618 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferFactory.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferFactory.java
@@ -31,14 +31,17 @@ public static ChannelBufferFactory getInstance() {
         return INSTANCE;
     }
 
+    @Override
     public ChannelBuffer getBuffer(int capacity) {
         return ChannelBuffers.buffer(capacity);
     }
 
+    @Override
     public ChannelBuffer getBuffer(byte[] array, int offset, int length) {
         return ChannelBuffers.wrappedBuffer(array, offset, length);
     }
 
+    @Override
     public ChannelBuffer getBuffer(ByteBuffer nioBuffer) {
         if (nioBuffer.hasArray()) {
             return ChannelBuffers.wrappedBuffer(nioBuffer);
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/ExchangeChannel.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/ExchangeChannel.java
index dd645c236d..1ffdc78c07 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/ExchangeChannel.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/ExchangeChannel.java
@@ -55,6 +55,7 @@
      *
      * @param timeout
      */
+    @Override
     void close(int timeout);
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/codec/ExchangeCodec.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/codec/ExchangeCodec.java
index c35da1eede..10025d26bb 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/codec/ExchangeCodec.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/codec/ExchangeCodec.java
@@ -65,6 +65,7 @@ public Short getMagicCode() {
         return MAGIC;
     }
 
+    @Override
     public void encode(Channel channel, ChannelBuffer buffer, Object msg) throws IOException {
         if (msg instanceof Request) {
             encodeRequest(channel, buffer, (Request) msg);
@@ -75,6 +76,7 @@ public void encode(Channel channel, ChannelBuffer buffer, Object msg) throws IOE
         }
     }
 
+    @Override
     public Object decode(Channel channel, ChannelBuffer buffer) throws IOException {
         int readable = buffer.readableBytes();
         byte[] header = new byte[Math.min(readable, HEADER_LENGTH)];
@@ -82,6 +84,7 @@ public Object decode(Channel channel, ChannelBuffer buffer) throws IOException {
         return decode(channel, buffer, readable, header);
     }
 
+    @Override
     protected Object decode(Channel channel, ChannelBuffer buffer, int readable, byte[] header) throws IOException {
         // check magic number.
         if (readable > 0 && header[0] != MAGIC_HIGH
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/DefaultFuture.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/DefaultFuture.java
index 9ce56ba5a0..eccc86d481 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/DefaultFuture.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/DefaultFuture.java
@@ -107,10 +107,12 @@ public static void received(Channel channel, Response response) {
         }
     }
 
+    @Override
     public Object get() throws RemotingException {
         return get(timeout);
     }
 
+    @Override
     public Object get(int timeout) throws RemotingException {
         if (timeout <= 0) {
             timeout = Constants.DEFAULT_TIMEOUT;
@@ -145,10 +147,12 @@ public void cancel() {
         CHANNELS.remove(id);
     }
 
+    @Override
     public boolean isDone() {
         return response != null;
     }
 
+    @Override
     public void setCallback(ResponseCallback callback) {
         if (isDone()) {
             invokeCallback(callback);
@@ -276,6 +280,7 @@ private String getTimeoutMessage(boolean scan) {
 
     private static class RemotingInvocationTimeoutScan implements Runnable {
 
+        @Override
         public void run() {
             while (true) {
                 try {
@@ -301,4 +306,4 @@ public void run() {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeHandlerAdapter.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeHandlerAdapter.java
index aaefa9a291..9deb434c9a 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeHandlerAdapter.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeHandlerAdapter.java
@@ -26,8 +26,9 @@
  */
 public abstract class ExchangeHandlerAdapter extends TelnetHandlerAdapter implements ExchangeHandler {
 
+    @Override
     public Object reply(ExchangeChannel channel, Object msg) throws RemotingException {
         return null;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeHandlerDispatcher.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeHandlerDispatcher.java
index d770969327..179ba92e24 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeHandlerDispatcher.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeHandlerDispatcher.java
@@ -80,33 +80,40 @@ public ExchangeHandlerDispatcher removeChannelHandler(ChannelHandler handler) {
         return this;
     }
 
+    @Override
     @SuppressWarnings({"unchecked", "rawtypes"})
     public Object reply(ExchangeChannel channel, Object request) throws RemotingException {
         return ((Replier) replierDispatcher).reply(channel, request);
     }
 
+    @Override
     public void connected(Channel channel) {
         handlerDispatcher.connected(channel);
     }
 
+    @Override
     public void disconnected(Channel channel) {
         handlerDispatcher.disconnected(channel);
     }
 
+    @Override
     public void sent(Channel channel, Object message) {
         handlerDispatcher.sent(channel, message);
     }
 
+    @Override
     public void received(Channel channel, Object message) {
         handlerDispatcher.received(channel, message);
     }
 
+    @Override
     public void caught(Channel channel, Throwable exception) {
         handlerDispatcher.caught(channel, exception);
     }
 
+    @Override
     public String telnet(Channel channel, String message) throws RemotingException {
         return telnetHandler.telnet(channel, message);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeServerDelegate.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeServerDelegate.java
index bcb1f9eed3..dd563c99ff 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeServerDelegate.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ExchangeServerDelegate.java
@@ -48,63 +48,78 @@ public void setServer(ExchangeServer server) {
         this.server = server;
     }
 
+    @Override
     public boolean isBound() {
         return server.isBound();
     }
 
+    @Override
     public void reset(URL url) {
         server.reset(url);
     }
 
+    @Override
     @Deprecated
     public void reset(com.alibaba.dubbo.common.Parameters parameters) {
         reset(getUrl().addParameters(parameters.getParameters()));
     }
 
+    @Override
     public Collection<Channel> getChannels() {
         return server.getChannels();
     }
 
+    @Override
     public Channel getChannel(InetSocketAddress remoteAddress) {
         return server.getChannel(remoteAddress);
     }
 
+    @Override
     public URL getUrl() {
         return server.getUrl();
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return server.getChannelHandler();
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return server.getLocalAddress();
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         server.send(message);
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         server.send(message, sent);
     }
 
+    @Override
     public void close() {
         server.close();
     }
 
+    @Override
     public boolean isClosed() {
         return server.isClosed();
     }
 
+    @Override
     public Collection<ExchangeChannel> getExchangeChannels() {
         return server.getExchangeChannels();
     }
 
+    @Override
     public ExchangeChannel getExchangeChannel(InetSocketAddress remoteAddress) {
         return server.getExchangeChannel(remoteAddress);
     }
 
+    @Override
     public void close(int timeout) {
         server.close(timeout);
     }
@@ -114,4 +129,4 @@ public void startClose() {
         server.startClose();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/MultiMessage.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/MultiMessage.java
index dc68b7e04b..afd41f49b1 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/MultiMessage.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/MultiMessage.java
@@ -78,6 +78,7 @@ public Collection removeMessages() {
         return result;
     }
 
+    @Override
     public Iterator iterator() {
         return messages.iterator();
     }
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ReplierDispatcher.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ReplierDispatcher.java
index 9bea4ee665..8d6bff5083 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ReplierDispatcher.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/ReplierDispatcher.java
@@ -68,9 +68,10 @@ public ReplierDispatcher(Replier<?> defaultReplier, Map<Class<?>, Replier<?>> re
         throw new IllegalStateException("Replier not found, Unsupported message object: " + type);
     }
 
+    @Override
     @SuppressWarnings({"unchecked", "rawtypes"})
     public Object reply(ExchangeChannel channel, Object request) throws RemotingException {
         return ((Replier) getReplier(request.getClass())).reply(channel, request);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/SimpleFuture.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/SimpleFuture.java
index 555c56e34b..a851793504 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/SimpleFuture.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/SimpleFuture.java
@@ -31,20 +31,24 @@ public SimpleFuture(Object value) {
         this.value = value;
     }
 
+    @Override
     public Object get() throws RemotingException {
         return value;
     }
 
+    @Override
     public Object get(int timeoutInMillis) throws RemotingException {
         return value;
     }
 
+    @Override
     public void setCallback(ResponseCallback callback) {
         callback.done(value);
     }
 
+    @Override
     public boolean isDone() {
         return true;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeChannel.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeChannel.java
index 9654cef0c4..7b6bd8c43c 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeChannel.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeChannel.java
@@ -72,10 +72,12 @@ static void removeChannelIfDisconnected(Channel ch) {
         }
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         send(message, getUrl().getParameter(Constants.SENT_KEY, false));
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         if (closed) {
             throw new RemotingException(this.getLocalAddress(), null, "Failed to send message " + message + ", cause: The channel " + this + " is closed!");
@@ -93,10 +95,12 @@ public void send(Object message, boolean sent) throws RemotingException {
         }
     }
 
+    @Override
     public ResponseFuture request(Object request) throws RemotingException {
         return request(request, channel.getUrl().getPositiveParameter(Constants.TIMEOUT_KEY, Constants.DEFAULT_TIMEOUT));
     }
 
+    @Override
     public ResponseFuture request(Object request, int timeout) throws RemotingException {
         if (closed) {
             throw new RemotingException(this.getLocalAddress(), null, "Failed to send request " + request + ", cause: The channel " + this + " is closed!");
@@ -116,10 +120,12 @@ public ResponseFuture request(Object request, int timeout) throws RemotingExcept
         return future;
     }
 
+    @Override
     public boolean isClosed() {
         return closed;
     }
 
+    @Override
     public void close() {
         try {
             channel.close();
@@ -129,6 +135,7 @@ public void close() {
     }
 
     // graceful close
+    @Override
     public void close(int timeout) {
         if (closed) {
             return;
@@ -153,42 +160,52 @@ public void startClose() {
         channel.startClose();
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return channel.getLocalAddress();
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return channel.getRemoteAddress();
     }
 
+    @Override
     public URL getUrl() {
         return channel.getUrl();
     }
 
+    @Override
     public boolean isConnected() {
         return channel.isConnected();
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return channel.getChannelHandler();
     }
 
+    @Override
     public ExchangeHandler getExchangeHandler() {
         return (ExchangeHandler) channel.getChannelHandler();
     }
 
+    @Override
     public Object getAttribute(String key) {
         return channel.getAttribute(key);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         channel.setAttribute(key, value);
     }
 
+    @Override
     public void removeAttribute(String key) {
         channel.removeAttribute(key);
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return channel.hasAttribute(key);
     }
@@ -218,4 +235,4 @@ public String toString() {
         return channel.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeClient.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeClient.java
index d9980f3f50..d6009f53e0 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeClient.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeClient.java
@@ -70,55 +70,68 @@ public HeaderExchangeClient(Client client, boolean needHeartbeat) {
         }
     }
 
+    @Override
     public ResponseFuture request(Object request) throws RemotingException {
         return channel.request(request);
     }
 
+    @Override
     public URL getUrl() {
         return channel.getUrl();
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return channel.getRemoteAddress();
     }
 
+    @Override
     public ResponseFuture request(Object request, int timeout) throws RemotingException {
         return channel.request(request, timeout);
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return channel.getChannelHandler();
     }
 
+    @Override
     public boolean isConnected() {
         return channel.isConnected();
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return channel.getLocalAddress();
     }
 
+    @Override
     public ExchangeHandler getExchangeHandler() {
         return channel.getExchangeHandler();
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         channel.send(message);
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         channel.send(message, sent);
     }
 
+    @Override
     public boolean isClosed() {
         return channel.isClosed();
     }
 
+    @Override
     public void close() {
         doClose();
         channel.close();
     }
 
+    @Override
     public void close(int timeout) {
         // Mark the client into the closure process
         startClose();
@@ -131,31 +144,38 @@ public void startClose() {
         channel.startClose();
     }
 
+    @Override
     public void reset(URL url) {
         client.reset(url);
     }
 
+    @Override
     @Deprecated
     public void reset(com.alibaba.dubbo.common.Parameters parameters) {
         reset(getUrl().addParameters(parameters.getParameters()));
     }
 
+    @Override
     public void reconnect() throws RemotingException {
         client.reconnect();
     }
 
+    @Override
     public Object getAttribute(String key) {
         return channel.getAttribute(key);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         channel.setAttribute(key, value);
     }
 
+    @Override
     public void removeAttribute(String key) {
         channel.removeAttribute(key);
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return channel.hasAttribute(key);
     }
@@ -165,6 +185,7 @@ private void startHeartbeatTimer() {
         if (heartbeat > 0) {
             heartbeatTimer = scheduled.scheduleWithFixedDelay(
                     new HeartBeatTask(new HeartBeatTask.ChannelProvider() {
+                        @Override
                         public Collection<Channel> getChannels() {
                             return Collections.<Channel>singletonList(HeaderExchangeClient.this);
                         }
@@ -195,4 +216,4 @@ private void doClose() {
     public String toString() {
         return "HeaderExchangeClient [channel=" + channel + "]";
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java
index dedd61c787..3c378178e1 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java
@@ -103,6 +103,7 @@ Response handleRequest(ExchangeChannel channel, Request req) throws RemotingExce
         return res;
     }
 
+    @Override
     public void connected(Channel channel) throws RemotingException {
         channel.setAttribute(KEY_READ_TIMESTAMP, System.currentTimeMillis());
         channel.setAttribute(KEY_WRITE_TIMESTAMP, System.currentTimeMillis());
@@ -114,6 +115,7 @@ public void connected(Channel channel) throws RemotingException {
         }
     }
 
+    @Override
     public void disconnected(Channel channel) throws RemotingException {
         channel.setAttribute(KEY_READ_TIMESTAMP, System.currentTimeMillis());
         channel.setAttribute(KEY_WRITE_TIMESTAMP, System.currentTimeMillis());
@@ -125,6 +127,7 @@ public void disconnected(Channel channel) throws RemotingException {
         }
     }
 
+    @Override
     public void sent(Channel channel, Object message) throws RemotingException {
         Throwable exception = null;
         try {
@@ -154,6 +157,7 @@ public void sent(Channel channel, Object message) throws RemotingException {
         }
     }
 
+    @Override
     public void received(Channel channel, Object message) throws RemotingException {
         channel.setAttribute(KEY_READ_TIMESTAMP, System.currentTimeMillis());
         ExchangeChannel exchangeChannel = HeaderExchangeChannel.getOrAddChannel(channel);
@@ -191,6 +195,7 @@ public void received(Channel channel, Object message) throws RemotingException {
         }
     }
 
+    @Override
     public void caught(Channel channel, Throwable exception) throws RemotingException {
         if (exception instanceof ExecutionException) {
             ExecutionException e = (ExecutionException) exception;
@@ -214,6 +219,7 @@ public void caught(Channel channel, Throwable exception) throws RemotingExceptio
         }
     }
 
+    @Override
     public ChannelHandler getHandler() {
         if (handler instanceof ChannelHandlerDelegate) {
             return ((ChannelHandlerDelegate) handler).getHandler();
@@ -221,4 +227,4 @@ public ChannelHandler getHandler() {
             return handler;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeServer.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeServer.java
index 6d77a1822a..073452a77a 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeServer.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchangeServer.java
@@ -77,6 +77,7 @@ public Server getServer() {
         return server;
     }
 
+    @Override
     public boolean isClosed() {
         return server.isClosed();
     }
@@ -91,11 +92,13 @@ private boolean isRunning() {
         return false;
     }
 
+    @Override
     public void close() {
         doClose();
         server.close();
     }
 
+    @Override
     public void close(final int timeout) {
         startClose();
         if (timeout > 0) {
@@ -151,6 +154,7 @@ private void doClose() {
         }
     }
 
+    @Override
     public Collection<ExchangeChannel> getExchangeChannels() {
         Collection<ExchangeChannel> exchangeChannels = new ArrayList<ExchangeChannel>();
         Collection<Channel> channels = server.getChannels();
@@ -162,36 +166,44 @@ private void doClose() {
         return exchangeChannels;
     }
 
+    @Override
     public ExchangeChannel getExchangeChannel(InetSocketAddress remoteAddress) {
         Channel channel = server.getChannel(remoteAddress);
         return HeaderExchangeChannel.getOrAddChannel(channel);
     }
 
+    @Override
     @SuppressWarnings({"unchecked", "rawtypes"})
     public Collection<Channel> getChannels() {
         return (Collection) getExchangeChannels();
     }
 
+    @Override
     public Channel getChannel(InetSocketAddress remoteAddress) {
         return getExchangeChannel(remoteAddress);
     }
 
+    @Override
     public boolean isBound() {
         return server.isBound();
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return server.getLocalAddress();
     }
 
+    @Override
     public URL getUrl() {
         return server.getUrl();
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return server.getChannelHandler();
     }
 
+    @Override
     public void reset(URL url) {
         server.reset(url);
         try {
@@ -213,11 +225,13 @@ public void reset(URL url) {
         }
     }
 
+    @Override
     @Deprecated
     public void reset(com.alibaba.dubbo.common.Parameters parameters) {
         reset(getUrl().addParameters(parameters.getParameters()));
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         if (closed.get()) {
             throw new RemotingException(this.getLocalAddress(), null, "Failed to send message " + message + ", cause: The server " + getLocalAddress() + " is closed!");
@@ -225,6 +239,7 @@ public void send(Object message) throws RemotingException {
         server.send(message);
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         if (closed.get()) {
             throw new RemotingException(this.getLocalAddress(), null, "Failed to send message " + message + ", cause: The server " + getLocalAddress() + " is closed!");
@@ -237,6 +252,7 @@ private void startHeatbeatTimer() {
         if (heartbeat > 0) {
             heatbeatTimer = scheduled.scheduleWithFixedDelay(
                     new HeartBeatTask(new HeartBeatTask.ChannelProvider() {
+                        @Override
                         public Collection<Channel> getChannels() {
                             return Collections.unmodifiableCollection(
                                     HeaderExchangeServer.this.getChannels());
@@ -259,4 +275,4 @@ private void stopHeartbeatTimer() {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchanger.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchanger.java
index 1c55ebe5e0..06a14ded78 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchanger.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeaderExchanger.java
@@ -34,12 +34,14 @@
 
     public static final String NAME = "header";
 
+    @Override
     public ExchangeClient connect(URL url, ExchangeHandler handler) throws RemotingException {
         return new HeaderExchangeClient(Transporters.connect(url, new DecodeHandler(new HeaderExchangeHandler(handler))), true);
     }
 
+    @Override
     public ExchangeServer bind(URL url, ExchangeHandler handler) throws RemotingException {
         return new HeaderExchangeServer(Transporters.bind(url, new DecodeHandler(new HeaderExchangeHandler(handler))));
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartBeatTask.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartBeatTask.java
index 2d417b2e74..ce529b9882 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartBeatTask.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartBeatTask.java
@@ -41,6 +41,7 @@
         this.heartbeatTimeout = heartbeatTimeout;
     }
 
+    @Override
     public void run() {
         try {
             long now = System.currentTimeMillis();
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandler.java
index ae88f8c386..f2080ca020 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandler.java
@@ -39,23 +39,27 @@ public HeartbeatHandler(ChannelHandler handler) {
         super(handler);
     }
 
+    @Override
     public void connected(Channel channel) throws RemotingException {
         setReadTimestamp(channel);
         setWriteTimestamp(channel);
         handler.connected(channel);
     }
 
+    @Override
     public void disconnected(Channel channel) throws RemotingException {
         clearReadTimestamp(channel);
         clearWriteTimestamp(channel);
         handler.disconnected(channel);
     }
 
+    @Override
     public void sent(Channel channel, Object message) throws RemotingException {
         setWriteTimestamp(channel);
         handler.sent(channel, message);
     }
 
+    @Override
     public void received(Channel channel, Object message) throws RemotingException {
         setReadTimestamp(channel);
         if (isHeartbeatRequest(message)) {
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/codec/TelnetCodec.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/codec/TelnetCodec.java
index afdbc3bf63..638e4fc2e0 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/codec/TelnetCodec.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/codec/TelnetCodec.java
@@ -136,6 +136,7 @@ private static boolean endsWith(byte[] message, byte[] command) throws IOExcepti
         return true;
     }
 
+    @Override
     public void encode(Channel channel, ChannelBuffer buffer, Object message) throws IOException {
         if (message instanceof String) {
             if (isClientSide(channel)) {
@@ -148,6 +149,7 @@ public void encode(Channel channel, ChannelBuffer buffer, Object message) throws
         }
     }
 
+    @Override
     public Object decode(Channel channel, ChannelBuffer buffer) throws IOException {
         int readable = buffer.readableBytes();
         byte[] message = new byte[readable];
@@ -285,4 +287,4 @@ protected Object decode(Channel channel, ChannelBuffer buffer, int readable, byt
         return result;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/TelnetHandlerAdapter.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/TelnetHandlerAdapter.java
index 2f08b8ef54..478ce0f54a 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/TelnetHandlerAdapter.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/TelnetHandlerAdapter.java
@@ -27,6 +27,7 @@
 
     private final ExtensionLoader<TelnetHandler> extensionLoader = ExtensionLoader.getExtensionLoader(TelnetHandler.class);
 
+    @Override
     public String telnet(Channel channel, String message) throws RemotingException {
         String prompt = channel.getUrl().getParameterAndDecoded(Constants.PROMPT_KEY, Constants.DEFAULT_PROMPT);
         boolean noprompt = message.contains("--no-prompt");
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/ClearTelnetHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/ClearTelnetHandler.java
index 1ab7499ac2..5876955bfe 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/ClearTelnetHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/ClearTelnetHandler.java
@@ -29,6 +29,7 @@
 @Help(parameter = "[lines]", summary = "Clear screen.", detail = "Clear screen.")
 public class ClearTelnetHandler implements TelnetHandler {
 
+    @Override
     public String telnet(Channel channel, String message) {
         int lines = 100;
         if (message.length() > 0) {
@@ -44,4 +45,4 @@ public String telnet(Channel channel, String message) {
         return buf.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/ExitTelnetHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/ExitTelnetHandler.java
index 596475305c..22f78b508a 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/ExitTelnetHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/ExitTelnetHandler.java
@@ -28,9 +28,10 @@
 @Help(parameter = "", summary = "Exit the telnet.", detail = "Exit the telnet.")
 public class ExitTelnetHandler implements TelnetHandler {
 
+    @Override
     public String telnet(Channel channel, String message) {
         channel.close();
         return null;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/HelpTelnetHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/HelpTelnetHandler.java
index 15bd4d408b..3eb0899d28 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/HelpTelnetHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/HelpTelnetHandler.java
@@ -35,6 +35,7 @@
 
     private final ExtensionLoader<TelnetHandler> extensionLoader = ExtensionLoader.getExtensionLoader(TelnetHandler.class);
 
+    @Override
     public String telnet(Channel channel, String message) {
         if (message.length() > 0) {
             if (!extensionLoader.hasExtension(message)) {
@@ -68,4 +69,4 @@ public String telnet(Channel channel, String message) {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/LogTelnetHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/LogTelnetHandler.java
index 499669961a..c5ae9593d9 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/LogTelnetHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/LogTelnetHandler.java
@@ -41,6 +41,7 @@
 
     public static final String SERVICE_KEY = "telnet.log";
 
+    @Override
     public String telnet(Channel channel, String message) {
         long size = 0;
         File file = LoggerFactory.getFile();
@@ -98,4 +99,4 @@ public String telnet(Channel channel, String message) {
         return buf.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/StatusTelnetHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/StatusTelnetHandler.java
index a78ae65c40..0cf08de49c 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/StatusTelnetHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/telnet/support/command/StatusTelnetHandler.java
@@ -41,6 +41,7 @@
 
     private final ExtensionLoader<StatusChecker> extensionLoader = ExtensionLoader.getExtensionLoader(StatusChecker.class);
 
+    @Override
     public String telnet(Channel channel, String message) {
         if (message.equals("-l")) {
             List<StatusChecker> checkers = extensionLoader.getActivateExtension(channel.getUrl(), "status");
@@ -95,4 +96,4 @@ public String telnet(Channel channel, String message) {
         return String.valueOf(stat.getLevel());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractChannel.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractChannel.java
index fd22def3d3..07f2a7d9a8 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractChannel.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractChannel.java
@@ -30,6 +30,7 @@ public AbstractChannel(URL url, ChannelHandler handler) {
         super(url, handler);
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         if (isClosed()) {
             throw new RemotingException(this, "Failed to send message "
@@ -43,4 +44,4 @@ public String toString() {
         return getLocalAddress() + " -> " + getRemoteAddress();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractChannelHandlerDelegate.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractChannelHandlerDelegate.java
index 8f28cbd824..b2c660ccdc 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractChannelHandlerDelegate.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractChannelHandlerDelegate.java
@@ -30,6 +30,7 @@ protected AbstractChannelHandlerDelegate(ChannelHandler handler) {
         this.handler = handler;
     }
 
+    @Override
     public ChannelHandler getHandler() {
         if (handler instanceof ChannelHandlerDelegate) {
             return ((ChannelHandlerDelegate) handler).getHandler();
@@ -37,22 +38,27 @@ public ChannelHandler getHandler() {
         return handler;
     }
 
+    @Override
     public void connected(Channel channel) throws RemotingException {
         handler.connected(channel);
     }
 
+    @Override
     public void disconnected(Channel channel) throws RemotingException {
         handler.disconnected(channel);
     }
 
+    @Override
     public void sent(Channel channel, Object message) throws RemotingException {
         handler.sent(channel, message);
     }
 
+    @Override
     public void received(Channel channel, Object message) throws RemotingException {
         handler.received(channel, message);
     }
 
+    @Override
     public void caught(Channel channel, Throwable exception) throws RemotingException {
         handler.caught(channel, exception);
     }
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractClient.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractClient.java
index 44f822fd64..67222981a6 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractClient.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractClient.java
@@ -149,6 +149,7 @@ private synchronized void initConnectStatusCheckCommand() {
         int reconnect = getReconnectParam(getUrl());
         if (reconnect > 0 && (reconnectExecutorFuture == null || reconnectExecutorFuture.isCancelled())) {
             Runnable connectStatusCheckCommand = new Runnable() {
+                @Override
                 public void run() {
                     try {
                         if (!isConnected()) {
@@ -195,6 +196,7 @@ public InetSocketAddress getConnectAddress() {
         return new InetSocketAddress(NetUtils.filterLocalHost(getUrl().getHost()), getUrl().getPort());
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         Channel channel = getChannel();
         if (channel == null)
@@ -202,6 +204,7 @@ public InetSocketAddress getRemoteAddress() {
         return channel.getRemoteAddress();
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         Channel channel = getChannel();
         if (channel == null)
@@ -209,6 +212,7 @@ public InetSocketAddress getLocalAddress() {
         return channel.getLocalAddress();
     }
 
+    @Override
     public boolean isConnected() {
         Channel channel = getChannel();
         if (channel == null)
@@ -216,6 +220,7 @@ public boolean isConnected() {
         return channel.isConnected();
     }
 
+    @Override
     public Object getAttribute(String key) {
         Channel channel = getChannel();
         if (channel == null)
@@ -223,6 +228,7 @@ public Object getAttribute(String key) {
         return channel.getAttribute(key);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         Channel channel = getChannel();
         if (channel == null)
@@ -230,6 +236,7 @@ public void setAttribute(String key, Object value) {
         channel.setAttribute(key, value);
     }
 
+    @Override
     public void removeAttribute(String key) {
         Channel channel = getChannel();
         if (channel == null)
@@ -237,6 +244,7 @@ public void removeAttribute(String key) {
         channel.removeAttribute(key);
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         Channel channel = getChannel();
         if (channel == null)
@@ -244,6 +252,7 @@ public boolean hasAttribute(String key) {
         return channel.hasAttribute(key);
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         if (send_reconnect && !isConnected()) {
             connect();
@@ -310,11 +319,13 @@ public void disconnect() {
         }
     }
 
+    @Override
     public void reconnect() throws RemotingException {
         disconnect();
         connect();
     }
 
+    @Override
     public void close() {
         try {
             if (executor != null) {
@@ -340,6 +351,7 @@ public void close() {
         }
     }
 
+    @Override
     public void close(int timeout) {
         ExecutorUtil.gracefulShutdown(executor, timeout);
         close();
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractEndpoint.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractEndpoint.java
index e8ccfe4f37..811c59a00d 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractEndpoint.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractEndpoint.java
@@ -57,6 +57,7 @@ protected static Codec2 getChannelCodec(URL url) {
         }
     }
 
+    @Override
     public void reset(URL url) {
         if (isClosed()) {
             throw new IllegalStateException("Failed to reset parameters "
@@ -108,4 +109,4 @@ protected int getConnectTimeout() {
         return connectTimeout;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractPeer.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractPeer.java
index a44c2c9f96..58b823eb6f 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractPeer.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractPeer.java
@@ -48,18 +48,22 @@ public AbstractPeer(URL url, ChannelHandler handler) {
         this.handler = handler;
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         send(message, url.getParameter(Constants.SENT_KEY, false));
     }
 
+    @Override
     public void close() {
         closed = true;
     }
 
+    @Override
     public void close(int timeout) {
         close();
     }
 
+    @Override
     public void startClose() {
         if (isClosed()) {
             return;
@@ -67,6 +71,7 @@ public void startClose() {
         closing = true;
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
@@ -78,6 +83,7 @@ protected void setUrl(URL url) {
         this.url = url;
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         if (handler instanceof ChannelHandlerDelegate) {
             return ((ChannelHandlerDelegate) handler).getHandler();
@@ -103,6 +109,7 @@ public ChannelHandler getDelegateHandler() {
         return handler;
     }
 
+    @Override
     public boolean isClosed() {
         return closed;
     }
@@ -111,6 +118,7 @@ public boolean isClosing() {
         return closing && !closed;
     }
 
+    @Override
     public void connected(Channel ch) throws RemotingException {
         if (closed) {
             return;
@@ -118,10 +126,12 @@ public void connected(Channel ch) throws RemotingException {
         handler.connected(ch);
     }
 
+    @Override
     public void disconnected(Channel ch) throws RemotingException {
         handler.disconnected(ch);
     }
 
+    @Override
     public void sent(Channel ch, Object msg) throws RemotingException {
         if (closed) {
             return;
@@ -129,6 +139,7 @@ public void sent(Channel ch, Object msg) throws RemotingException {
         handler.sent(ch, msg);
     }
 
+    @Override
     public void received(Channel ch, Object msg) throws RemotingException {
         if (closed) {
             return;
@@ -136,7 +147,8 @@ public void received(Channel ch, Object msg) throws RemotingException {
         handler.received(ch, msg);
     }
 
+    @Override
     public void caught(Channel ch, Throwable ex) throws RemotingException {
         handler.caught(ch, ex);
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractServer.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractServer.java
index d0b4842dc8..6846687fe8 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractServer.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/AbstractServer.java
@@ -77,6 +77,7 @@ public AbstractServer(URL url, ChannelHandler handler) throws RemotingException
 
     protected abstract void doClose() throws Throwable;
 
+    @Override
     public void reset(URL url) {
         if (url == null) {
             return;
@@ -128,6 +129,7 @@ public void reset(URL url) {
         super.setUrl(getUrl().addParameters(url.getParameters()));
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         Collection<Channel> channels = getChannels();
         for (Channel channel : channels) {
@@ -137,6 +139,7 @@ public void send(Object message, boolean sent) throws RemotingException {
         }
     }
 
+    @Override
     public void close() {
         if (logger.isInfoEnabled()) {
             logger.info("Close " + getClass().getSimpleName() + " bind " + getBindAddress() + ", export " + getLocalAddress());
@@ -154,11 +157,13 @@ public void close() {
         }
     }
 
+    @Override
     public void close(int timeout) {
         ExecutorUtil.gracefulShutdown(executor, timeout);
         close();
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return localAddress;
     }
@@ -202,4 +207,4 @@ public void disconnected(Channel ch) throws RemotingException {
         super.disconnected(ch);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelDelegate.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelDelegate.java
index df69efb0d1..e3843c2d42 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelDelegate.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelDelegate.java
@@ -48,54 +48,67 @@ public void setChannel(Channel channel) {
         this.channel = channel;
     }
 
+    @Override
     public URL getUrl() {
         return channel.getUrl();
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return channel.getRemoteAddress();
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return channel.getChannelHandler();
     }
 
+    @Override
     public boolean isConnected() {
         return channel.isConnected();
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return channel.getLocalAddress();
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return channel.hasAttribute(key);
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         channel.send(message);
     }
 
+    @Override
     public Object getAttribute(String key) {
         return channel.getAttribute(key);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         channel.setAttribute(key, value);
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         channel.send(message, sent);
     }
 
+    @Override
     public void removeAttribute(String key) {
         channel.removeAttribute(key);
     }
 
+    @Override
     public void close() {
         channel.close();
     }
 
+    @Override
     public void close(int timeout) {
         channel.close(timeout);
     }
@@ -105,8 +118,9 @@ public void startClose() {
         channel.startClose();
     }
 
+    @Override
     public boolean isClosed() {
         return channel.isClosed();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelHandlerAdapter.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelHandlerAdapter.java
index 08f710f5eb..ee4153b336 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelHandlerAdapter.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelHandlerAdapter.java
@@ -25,19 +25,24 @@
  */
 public class ChannelHandlerAdapter implements ChannelHandler {
 
+    @Override
     public void connected(Channel channel) throws RemotingException {
     }
 
+    @Override
     public void disconnected(Channel channel) throws RemotingException {
     }
 
+    @Override
     public void sent(Channel channel, Object message) throws RemotingException {
     }
 
+    @Override
     public void received(Channel channel, Object message) throws RemotingException {
     }
 
+    @Override
     public void caught(Channel channel, Throwable exception) throws RemotingException {
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelHandlerDispatcher.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelHandlerDispatcher.java
index 6a2d9817c9..aaf3e2b3c1 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelHandlerDispatcher.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ChannelHandlerDispatcher.java
@@ -61,6 +61,7 @@ public ChannelHandlerDispatcher removeChannelHandler(ChannelHandler handler) {
         return this;
     }
 
+    @Override
     public void connected(Channel channel) {
         for (ChannelHandler listener : channelHandlers) {
             try {
@@ -71,6 +72,7 @@ public void connected(Channel channel) {
         }
     }
 
+    @Override
     public void disconnected(Channel channel) {
         for (ChannelHandler listener : channelHandlers) {
             try {
@@ -81,6 +83,7 @@ public void disconnected(Channel channel) {
         }
     }
 
+    @Override
     public void sent(Channel channel, Object message) {
         for (ChannelHandler listener : channelHandlers) {
             try {
@@ -91,6 +94,7 @@ public void sent(Channel channel, Object message) {
         }
     }
 
+    @Override
     public void received(Channel channel, Object message) {
         for (ChannelHandler listener : channelHandlers) {
             try {
@@ -101,6 +105,7 @@ public void received(Channel channel, Object message) {
         }
     }
 
+    @Override
     public void caught(Channel channel, Throwable exception) {
         for (ChannelHandler listener : channelHandlers) {
             try {
@@ -111,4 +116,4 @@ public void caught(Channel channel, Throwable exception) {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ClientDelegate.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ClientDelegate.java
index b49af09b40..6cfe206802 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ClientDelegate.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ClientDelegate.java
@@ -48,67 +48,83 @@ public void setClient(Client client) {
         this.client = client;
     }
 
+    @Override
     public void reset(URL url) {
         client.reset(url);
     }
 
+    @Override
     @Deprecated
     public void reset(com.alibaba.dubbo.common.Parameters parameters) {
         reset(getUrl().addParameters(parameters.getParameters()));
     }
 
+    @Override
     public URL getUrl() {
         return client.getUrl();
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return client.getRemoteAddress();
     }
 
+    @Override
     public void reconnect() throws RemotingException {
         client.reconnect();
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return client.getChannelHandler();
     }
 
+    @Override
     public boolean isConnected() {
         return client.isConnected();
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return client.getLocalAddress();
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return client.hasAttribute(key);
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         client.send(message);
     }
 
+    @Override
     public Object getAttribute(String key) {
         return client.getAttribute(key);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         client.setAttribute(key, value);
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         client.send(message, sent);
     }
 
+    @Override
     public void removeAttribute(String key) {
         client.removeAttribute(key);
     }
 
+    @Override
     public void close() {
         client.close();
     }
 
+    @Override
     public void close(int timeout) {
         client.close(timeout);
     }
@@ -118,8 +134,9 @@ public void startClose() {
         client.startClose();
     }
 
+    @Override
     public boolean isClosed() {
         return client.isClosed();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/DecodeHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/DecodeHandler.java
index fb46f0a70a..db5b6f57b2 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/DecodeHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/DecodeHandler.java
@@ -34,6 +34,7 @@ public DecodeHandler(ChannelHandler handler) {
         super(handler);
     }
 
+    @Override
     public void received(Channel channel, Object message) throws RemotingException {
         if (message instanceof Decodeable) {
             decode(message);
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ServerDelegate.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ServerDelegate.java
index 5be3b6d60b..5b24cc9c7d 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ServerDelegate.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/ServerDelegate.java
@@ -49,51 +49,63 @@ public void setServer(Server server) {
         this.server = server;
     }
 
+    @Override
     public boolean isBound() {
         return server.isBound();
     }
 
+    @Override
     public void reset(URL url) {
         server.reset(url);
     }
 
+    @Override
     @Deprecated
     public void reset(com.alibaba.dubbo.common.Parameters parameters) {
         reset(getUrl().addParameters(parameters.getParameters()));
     }
 
+    @Override
     public Collection<Channel> getChannels() {
         return server.getChannels();
     }
 
+    @Override
     public Channel getChannel(InetSocketAddress remoteAddress) {
         return server.getChannel(remoteAddress);
     }
 
+    @Override
     public URL getUrl() {
         return server.getUrl();
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return server.getChannelHandler();
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return server.getLocalAddress();
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         server.send(message);
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         server.send(message, sent);
     }
 
+    @Override
     public void close() {
         server.close();
     }
 
+    @Override
     public void close(int timeout) {
         server.close(timeout);
     }
@@ -103,7 +115,8 @@ public void startClose() {
         server.startClose();
     }
 
+    @Override
     public boolean isClosed() {
         return server.isClosed();
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/codec/CodecAdapter.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/codec/CodecAdapter.java
index 0466fffad8..dfc945ed0b 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/codec/CodecAdapter.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/codec/CodecAdapter.java
@@ -36,6 +36,7 @@ public CodecAdapter(Codec codec) {
         this.codec = codec;
     }
 
+    @Override
     public void encode(Channel channel, ChannelBuffer buffer, Object message)
             throws IOException {
         UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream(1024);
@@ -43,6 +44,7 @@ public void encode(Channel channel, ChannelBuffer buffer, Object message)
         buffer.writeBytes(os.toByteArray());
     }
 
+    @Override
     public Object decode(Channel channel, ChannelBuffer buffer) throws IOException {
         byte[] bytes = new byte[buffer.readableBytes()];
         int savedReaderIndex = buffer.readerIndex();
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/codec/TransportCodec.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/codec/TransportCodec.java
index 71368754a3..f41c7287fc 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/codec/TransportCodec.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/codec/TransportCodec.java
@@ -35,6 +35,7 @@
  */
 public class TransportCodec extends AbstractCodec {
 
+    @Override
     public void encode(Channel channel, ChannelBuffer buffer, Object message) throws IOException {
         OutputStream output = new ChannelBufferOutputStream(buffer);
         ObjectOutput objectOutput = getSerialization(channel).serialize(channel.getUrl(), output);
@@ -45,6 +46,7 @@ public void encode(Channel channel, ChannelBuffer buffer, Object message) throws
         }
     }
 
+    @Override
     public Object decode(Channel channel, ChannelBuffer buffer) throws IOException {
         InputStream input = new ChannelBufferInputStream(buffer);
         ObjectInput objectInput = getSerialization(channel).deserialize(channel.getUrl(), input);
@@ -74,4 +76,4 @@ protected Object decodeData(ObjectInput input) throws IOException {
             throw new IOException("ClassNotFoundException: " + StringUtils.toString(e));
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/ChannelEventRunnable.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/ChannelEventRunnable.java
index 0c5e876597..038adea56c 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/ChannelEventRunnable.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/ChannelEventRunnable.java
@@ -50,6 +50,7 @@ public ChannelEventRunnable(Channel channel, ChannelHandler handler, ChannelStat
         this.exception = exception;
     }
 
+    @Override
     public void run() {
         switch (state) {
             case CONNECTED:
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/WrappedChannelHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/WrappedChannelHandler.java
index e9975c8d3f..fea2d6a53c 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/WrappedChannelHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/WrappedChannelHandler.java
@@ -67,22 +67,27 @@ public void close() {
         }
     }
 
+    @Override
     public void connected(Channel channel) throws RemotingException {
         handler.connected(channel);
     }
 
+    @Override
     public void disconnected(Channel channel) throws RemotingException {
         handler.disconnected(channel);
     }
 
+    @Override
     public void sent(Channel channel, Object message) throws RemotingException {
         handler.sent(channel, message);
     }
 
+    @Override
     public void received(Channel channel, Object message) throws RemotingException {
         handler.received(channel, message);
     }
 
+    @Override
     public void caught(Channel channel, Throwable exception) throws RemotingException {
         handler.caught(channel, exception);
     }
@@ -91,6 +96,7 @@ public ExecutorService getExecutor() {
         return executor;
     }
 
+    @Override
     public ChannelHandler getHandler() {
         if (handler instanceof ChannelHandlerDelegate) {
             return ((ChannelHandlerDelegate) handler).getHandler();
@@ -103,4 +109,4 @@ public URL getUrl() {
         return url;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllChannelHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllChannelHandler.java
index 1dade1abfc..9e5b331cb2 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllChannelHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllChannelHandler.java
@@ -36,6 +36,7 @@ public AllChannelHandler(ChannelHandler handler, URL url) {
         super(handler, url);
     }
 
+    @Override
     public void connected(Channel channel) throws RemotingException {
         ExecutorService cexecutor = getExecutorService();
         try {
@@ -45,6 +46,7 @@ public void connected(Channel channel) throws RemotingException {
         }
     }
 
+    @Override
     public void disconnected(Channel channel) throws RemotingException {
         ExecutorService cexecutor = getExecutorService();
         try {
@@ -54,6 +56,7 @@ public void disconnected(Channel channel) throws RemotingException {
         }
     }
 
+    @Override
     public void received(Channel channel, Object message) throws RemotingException {
         ExecutorService cexecutor = getExecutorService();
         try {
@@ -76,6 +79,7 @@ public void received(Channel channel, Object message) throws RemotingException {
         }
     }
 
+    @Override
     public void caught(Channel channel, Throwable exception) throws RemotingException {
         ExecutorService cexecutor = getExecutorService();
         try {
@@ -92,4 +96,4 @@ private ExecutorService getExecutorService() {
         }
         return cexecutor;
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllDispatcher.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllDispatcher.java
index 823c50479a..e760b15fa3 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllDispatcher.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllDispatcher.java
@@ -27,8 +27,9 @@
 
     public static final String NAME = "all";
 
+    @Override
     public ChannelHandler dispatch(ChannelHandler handler, URL url) {
         return new AllChannelHandler(handler, url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedChannelHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedChannelHandler.java
index ed7681182f..1b162d5b6e 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedChannelHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedChannelHandler.java
@@ -53,6 +53,7 @@ public ConnectionOrderedChannelHandler(ChannelHandler handler, URL url) {
         queuewarninglimit = url.getParameter(Constants.CONNECT_QUEUE_WARNING_SIZE, Constants.DEFAULT_CONNECT_QUEUE_WARNING_SIZE);
     }
 
+    @Override
     public void connected(Channel channel) throws RemotingException {
         try {
             checkQueueLength();
@@ -62,6 +63,7 @@ public void connected(Channel channel) throws RemotingException {
         }
     }
 
+    @Override
     public void disconnected(Channel channel) throws RemotingException {
         try {
             checkQueueLength();
@@ -71,6 +73,7 @@ public void disconnected(Channel channel) throws RemotingException {
         }
     }
 
+    @Override
     public void received(Channel channel, Object message) throws RemotingException {
         ExecutorService cexecutor = executor;
         if (cexecutor == null || cexecutor.isShutdown()) {
@@ -95,6 +98,7 @@ public void received(Channel channel, Object message) throws RemotingException {
         }
     }
 
+    @Override
     public void caught(Channel channel, Throwable exception) throws RemotingException {
         ExecutorService cexecutor = executor;
         if (cexecutor == null || cexecutor.isShutdown()) {
@@ -112,4 +116,4 @@ private void checkQueueLength() {
             logger.warn(new IllegalThreadStateException("connectionordered channel handler `queue size: " + connectionExecutor.getQueue().size() + " exceed the warning limit number :" + queuewarninglimit));
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedDispatcher.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedDispatcher.java
index 1209ccd36f..08088436e9 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedDispatcher.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedDispatcher.java
@@ -27,8 +27,9 @@
 
     public static final String NAME = "connection";
 
+    @Override
     public ChannelHandler dispatch(ChannelHandler handler, URL url) {
         return new ConnectionOrderedChannelHandler(handler, url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/direct/DirectDispatcher.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/direct/DirectDispatcher.java
index bd19271720..ca4f23fa50 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/direct/DirectDispatcher.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/direct/DirectDispatcher.java
@@ -27,8 +27,9 @@
 
     public static final String NAME = "direct";
 
+    @Override
     public ChannelHandler dispatch(ChannelHandler handler, URL url) {
         return handler;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionChannelHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionChannelHandler.java
index fd1261cde2..2cb4634860 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionChannelHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionChannelHandler.java
@@ -35,14 +35,17 @@ public ExecutionChannelHandler(ChannelHandler handler, URL url) {
         super(handler, url);
     }
 
+    @Override
     public void connected(Channel channel) throws RemotingException {
         executor.execute(new ChannelEventRunnable(channel, handler, ChannelState.CONNECTED));
     }
 
+    @Override
     public void disconnected(Channel channel) throws RemotingException {
         executor.execute(new ChannelEventRunnable(channel, handler, ChannelState.DISCONNECTED));
     }
 
+    @Override
     public void received(Channel channel, Object message) throws RemotingException {
     	try {
             executor.execute(new ChannelEventRunnable(channel, handler, ChannelState.RECEIVED, message));
@@ -65,8 +68,9 @@ public void received(Channel channel, Object message) throws RemotingException {
         }
     }
 
+    @Override
     public void caught(Channel channel, Throwable exception) throws RemotingException {
         executor.execute(new ChannelEventRunnable(channel, handler, ChannelState.CAUGHT, exception));
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionDispatcher.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionDispatcher.java
index a62bee7b4f..20d0d5c1af 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionDispatcher.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionDispatcher.java
@@ -27,8 +27,9 @@
 
     public static final String NAME = "execution";
 
+    @Override
     public ChannelHandler dispatch(ChannelHandler handler, URL url) {
         return new ExecutionChannelHandler(handler, url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyChannelHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyChannelHandler.java
index 457d763c0d..5abc04e606 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyChannelHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyChannelHandler.java
@@ -33,6 +33,7 @@ public MessageOnlyChannelHandler(ChannelHandler handler, URL url) {
         super(handler, url);
     }
 
+    @Override
     public void received(Channel channel, Object message) throws RemotingException {
         ExecutorService cexecutor = executor;
         if (cexecutor == null || cexecutor.isShutdown()) {
@@ -45,4 +46,4 @@ public void received(Channel channel, Object message) throws RemotingException {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyDispatcher.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyDispatcher.java
index 0435c9b5f5..cde25531b8 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyDispatcher.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyDispatcher.java
@@ -27,8 +27,9 @@
 
     public static final String NAME = "message";
 
+    @Override
     public ChannelHandler dispatch(ChannelHandler handler, URL url) {
         return new MessageOnlyChannelHandler(handler, url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/ChanelHandlerTest.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/ChanelHandlerTest.java
index 5cf6ca0520..feaac4cbb1 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/ChanelHandlerTest.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/ChanelHandlerTest.java
@@ -100,10 +100,12 @@ public PeformanceTestHandler(String url) {
             this.url = url;
         }
 
+        @Override
         public void connected(Channel channel) throws RemotingException {
             System.out.println("connected event,chanel;" + channel);
         }
 
+        @Override
         public void disconnected(Channel channel) throws RemotingException {
             System.out.println("disconnected event,chanel;" + channel);
             initClient(url);
@@ -119,4 +121,4 @@ public void caught(Channel channel, Throwable exception) throws RemotingExceptio
 
 
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/PerformanceClientTest.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/PerformanceClientTest.java
index 29324bc148..2fa39fc8e0 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/PerformanceClientTest.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/PerformanceClientTest.java
@@ -215,12 +215,14 @@ public void run() {
 
     static class PeformanceTestHandler extends ExchangeHandlerAdapter {
 
+        @Override
         public void connected(Channel channel) throws RemotingException {
             System.out.println("connected event,chanel;" + channel);
         }
 
+        @Override
         public void disconnected(Channel channel) throws RemotingException {
             System.out.println("disconnected event,chanel;" + channel);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/TelnetServer.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/TelnetServer.java
index 7f64d1b26a..a72965b65c 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/TelnetServer.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/TelnetServer.java
@@ -25,10 +25,12 @@
 
     public static void main(String[] args) throws Exception {
         Transporters.bind("telnet://0.0.0.0:23", new ChannelHandlerAdapter() {
+            @Override
             public void connected(Channel channel) throws RemotingException {
                 channel.send("telnet> ");
             }
 
+            @Override
             public void received(Channel channel, Object message) throws RemotingException {
                 channel.send("Echo: " + message + "\r\n");
                 channel.send("telnet> ");
@@ -45,4 +47,4 @@ public void received(Channel channel, Object message) throws RemotingException {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/AbstractMockChannel.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/AbstractMockChannel.java
index c855c46ff9..aa4402983c 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/AbstractMockChannel.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/AbstractMockChannel.java
@@ -53,18 +53,22 @@ public AbstractMockChannel(ChannelHandler handler) {
         this.handler = handler;
     }
 
+    @Override
     public URL getUrl() {
         return remoteUrl;
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return handler;
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return localAddress;
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         if (remoteUrl.getParameter(ERROR_WHEN_SEND, Boolean.FALSE)) {
             receivedMessage = null;
@@ -74,14 +78,17 @@ public void send(Object message) throws RemotingException {
         }
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         send(message);
     }
 
+    @Override
     public void close() {
         close(0);
     }
 
+    @Override
     public void close(int timeout) {
         isClosed = true;
     }
@@ -91,30 +98,37 @@ public void startClose() {
         closing = true;
     }
 
+    @Override
     public boolean isClosed() {
         return isClosed;
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return remoteAddress;
     }
 
+    @Override
     public boolean isConnected() {
         return isClosed;
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return attributes.containsKey(key);
     }
 
+    @Override
     public Object getAttribute(String key) {
         return attributes.get(key);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         attributes.put(key, value);
     }
 
+    @Override
     public void removeAttribute(String key) {
         attributes.remove(key);
     }
diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/MockChannel.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/MockChannel.java
index 40366eaaf2..2e4eef5ffc 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/MockChannel.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/MockChannel.java
@@ -37,54 +37,67 @@
     private volatile boolean closing = false;
     private List<Object> sentObjects = new ArrayList<Object>();
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return null;
     }
 
+    @Override
     public boolean isConnected() {
         return false;
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return attributes.containsKey(key);
     }
 
+    @Override
     public Object getAttribute(String key) {
         return attributes.get(key);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         attributes.put(key, value);
     }
 
+    @Override
     public void removeAttribute(String key) {
         attributes.remove(key);
     }
 
+    @Override
     public URL getUrl() {
         return null;
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return null;
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return null;
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         sentObjects.add(message);
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         sentObjects.add(message);
     }
 
+    @Override
     public void close() {
         closed = true;
     }
 
+    @Override
     public void close(int timeout) {
         closed = true;
     }
@@ -94,6 +107,7 @@ public void startClose() {
         closing = true;
     }
 
+    @Override
     public boolean isClosed() {
         return closed;
     }
diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/HeaderExchangeHandlerTest.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/HeaderExchangeHandlerTest.java
index c4bfe0f392..c3da46659b 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/HeaderExchangeHandlerTest.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/HeaderExchangeHandlerTest.java
@@ -44,6 +44,7 @@ public void test_received_request_oneway() throws RemotingException {
         request.setData(requestdata);
 
         ExchangeHandler exhandler = new MockedExchangeHandler() {
+            @Override
             public void received(Channel channel, Object message) throws RemotingException {
                 Assert.assertEquals(requestdata, message);
             }
@@ -78,6 +79,7 @@ public Object reply(ExchangeChannel channel, Object request) throws RemotingExce
                 return request;
             }
 
+            @Override
             public void received(Channel channel, Object message) throws RemotingException {
                 Assert.fail();
             }
@@ -217,4 +219,4 @@ public String toString() {
             return "Person [name=" + name + "]";
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/MockedChannel.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/MockedChannel.java
index ead116b22f..cded186335 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/MockedChannel.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/MockedChannel.java
@@ -37,31 +37,38 @@ public MockedChannel() {
     }
 
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
 
         return this.handler;
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
 
         return null;
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         this.send(message);
     }
 
+    @Override
     public void close() {
         isClosed = true;
     }
 
+    @Override
     public void close(int timeout) {
         this.close();
     }
@@ -71,30 +78,37 @@ public void startClose() {
         closing = true;
     }
 
+    @Override
     public boolean isClosed() {
         return isClosed;
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return null;
     }
 
+    @Override
     public boolean isConnected() {
         return false;
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return map.containsKey(key);
     }
 
+    @Override
     public Object getAttribute(String key) {
         return map.get(key);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         map.put(key, value);
     }
 
+    @Override
     public void removeAttribute(String key) {
         map.remove(key);
     }
diff --git a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/MockedChannelHandler.java b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/MockedChannelHandler.java
index cf7a71e3b6..ec2bfab38b 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/MockedChannelHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/MockedChannelHandler.java
@@ -28,23 +28,28 @@
     //    ConcurrentMap<String, Channel> channels = new ConcurrentHashMap<String, Channel>();
     ConcurrentHashSet<Channel> channels = new ConcurrentHashSet<Channel>();
 
+    @Override
     public void connected(Channel channel) throws RemotingException {
         channels.add(channel);
     }
 
+    @Override
     public void disconnected(Channel channel) throws RemotingException {
         channels.remove(channel);
     }
 
+    @Override
     public void sent(Channel channel, Object message) throws RemotingException {
         channel.send(message);
     }
 
+    @Override
     public void received(Channel channel, Object message) throws RemotingException {
         //echo 
         channel.send(message);
     }
 
+    @Override
     public void caught(Channel channel, Throwable exception) throws RemotingException {
         throw new RemotingException(channel, exception);
 
diff --git a/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyChannel.java b/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyChannel.java
index 325c28cdb4..2727251474 100644
--- a/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyChannel.java
+++ b/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyChannel.java
@@ -81,18 +81,22 @@ static void removeChannelIfDisconnected(Connection<?> connection) {
         }
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return (InetSocketAddress) connection.getPeerAddress();
     }
 
+    @Override
     public boolean isConnected() {
         return connection.isOpen();
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return (InetSocketAddress) connection.getLocalAddress();
     }
 
+    @Override
     @SuppressWarnings("rawtypes")
     public void send(Object message, boolean sent) throws RemotingException {
         super.send(message, sent);
@@ -112,6 +116,7 @@ public void send(Object message, boolean sent) throws RemotingException {
         }
     }
 
+    @Override
     public void close() {
         try {
             super.close();
@@ -133,18 +138,22 @@ public void close() {
         }
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return getAttribute(key) == null;
     }
 
+    @Override
     public Object getAttribute(String key) {
         return Grizzly.DEFAULT_ATTRIBUTE_BUILDER.createAttribute(key).get(connection);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         Grizzly.DEFAULT_ATTRIBUTE_BUILDER.createAttribute(key).set(connection, value);
     }
 
+    @Override
     public void removeAttribute(String key) {
         Grizzly.DEFAULT_ATTRIBUTE_BUILDER.createAttribute(key).remove(connection);
     }
@@ -174,4 +183,4 @@ public String toString() {
         return "GrizzlyChannel [connection=" + connection + "]";
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyServer.java b/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyServer.java
index 0376ec3988..06a828e9ea 100644
--- a/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyServer.java
+++ b/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyServer.java
@@ -93,14 +93,17 @@ protected void doClose() throws Throwable {
         }
     }
 
+    @Override
     public boolean isBound() {
         return !transport.isStopped();
     }
 
+    @Override
     public Collection<Channel> getChannels() {
         return channels.values();
     }
 
+    @Override
     public Channel getChannel(InetSocketAddress remoteAddress) {
         return channels.get(NetUtils.toAddressString(remoteAddress));
     }
@@ -117,4 +120,4 @@ public void disconnected(Channel ch) throws RemotingException {
         super.disconnected(ch);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyTransporter.java b/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyTransporter.java
index fef6424638..0a594cf073 100644
--- a/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyTransporter.java
+++ b/dubbo-remoting/dubbo-remoting-grizzly/src/main/java/com/alibaba/dubbo/remoting/transport/grizzly/GrizzlyTransporter.java
@@ -30,12 +30,14 @@
 
     public static final String NAME = "grizzly";
 
+    @Override
     public Server bind(URL url, ChannelHandler listener) throws RemotingException {
         return new GrizzlyServer(url, listener);
     }
 
+    @Override
     public Client connect(URL url, ChannelHandler listener) throws RemotingException {
         return new GrizzlyClient(url, listener);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/jetty/JettyHttpBinder.java b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/jetty/JettyHttpBinder.java
index b75eabd910..6b708c1a01 100644
--- a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/jetty/JettyHttpBinder.java
+++ b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/jetty/JettyHttpBinder.java
@@ -26,8 +26,9 @@
  */
 public class JettyHttpBinder implements HttpBinder {
 
+    @Override
     public HttpServer bind(URL url, HttpHandler handler) {
         return new JettyHttpServer(url, handler);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/jetty/JettyHttpServer.java b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/jetty/JettyHttpServer.java
index ed137f15ca..d5366ac565 100644
--- a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/jetty/JettyHttpServer.java
+++ b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/jetty/JettyHttpServer.java
@@ -90,6 +90,7 @@ public JettyHttpServer(URL url, final HttpHandler handler) {
         }
     }
 
+    @Override
     public void close() {
         super.close();
 
@@ -105,4 +106,4 @@ public void close() {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/BootstrapListener.java b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/BootstrapListener.java
index 8407405e3d..5a570702f0 100644
--- a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/BootstrapListener.java
+++ b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/BootstrapListener.java
@@ -25,10 +25,12 @@
  */
 public class BootstrapListener implements ServletContextListener {
 
+    @Override
     public void contextInitialized(ServletContextEvent servletContextEvent) {
         ServletManager.getInstance().addServletContext(ServletManager.EXTERNAL_SERVER_PORT, servletContextEvent.getServletContext());
     }
 
+    @Override
     public void contextDestroyed(ServletContextEvent servletContextEvent) {
         ServletManager.getInstance().removeServletContext(ServletManager.EXTERNAL_SERVER_PORT);
     }
diff --git a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/DispatcherServlet.java b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/DispatcherServlet.java
index 2f9425310c..bdb05f6f67 100644
--- a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/DispatcherServlet.java
+++ b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/DispatcherServlet.java
@@ -51,6 +51,7 @@ public static DispatcherServlet getInstance() {
         return INSTANCE;
     }
 
+    @Override
     protected void service(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
         HttpHandler handler = handlers.get(request.getLocalPort());
@@ -61,4 +62,4 @@ protected void service(HttpServletRequest request, HttpServletResponse response)
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/ServletHttpBinder.java b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/ServletHttpBinder.java
index 09589bc839..28425e7d2a 100644
--- a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/ServletHttpBinder.java
+++ b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/servlet/ServletHttpBinder.java
@@ -27,9 +27,10 @@
  */
 public class ServletHttpBinder implements HttpBinder {
 
+    @Override
     @Adaptive()
     public HttpServer bind(URL url, HttpHandler handler) {
         return new ServletHttpServer(url, handler);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/support/AbstractHttpServer.java b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/support/AbstractHttpServer.java
index fec16a5e18..86cf6b12fb 100644
--- a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/support/AbstractHttpServer.java
+++ b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/support/AbstractHttpServer.java
@@ -44,35 +44,43 @@ public AbstractHttpServer(URL url, HttpHandler handler) {
         this.handler = handler;
     }
 
+    @Override
     public HttpHandler getHttpHandler() {
         return handler;
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     public void reset(URL url) {
     }
 
+    @Override
     public boolean isBound() {
         return true;
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return url.toInetSocketAddress();
     }
 
+    @Override
     public void close() {
         closed = true;
     }
 
+    @Override
     public void close(int timeout) {
         close();
     }
 
+    @Override
     public boolean isClosed() {
         return closed;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/tomcat/TomcatHttpBinder.java b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/tomcat/TomcatHttpBinder.java
index 8ff017e029..90e7a5f3e8 100755
--- a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/tomcat/TomcatHttpBinder.java
+++ b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/tomcat/TomcatHttpBinder.java
@@ -23,8 +23,9 @@
 
 public class TomcatHttpBinder implements HttpBinder {
 
+    @Override
     public HttpServer bind(URL url, HttpHandler handler) {
         return new TomcatHttpServer(url, handler);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/tomcat/TomcatHttpServer.java b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/tomcat/TomcatHttpServer.java
index 7ed61f9046..68cce424f9 100755
--- a/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/tomcat/TomcatHttpServer.java
+++ b/dubbo-remoting/dubbo-remoting-http/src/main/java/com/alibaba/dubbo/remoting/http/tomcat/TomcatHttpServer.java
@@ -74,6 +74,7 @@ public TomcatHttpServer(URL url, final HttpHandler handler) {
         }
     }
 
+    @Override
     public void close() {
         super.close();
 
@@ -85,4 +86,4 @@ public void close() {
             logger.warn(e.getMessage(), e);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaChannel.java b/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaChannel.java
index 87ee816171..f779c3b960 100644
--- a/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaChannel.java
+++ b/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaChannel.java
@@ -72,18 +72,22 @@ static void removeChannelIfDisconnected(IoSession session) {
         }
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return (InetSocketAddress) session.getLocalAddress();
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return (InetSocketAddress) session.getRemoteAddress();
     }
 
+    @Override
     public boolean isConnected() {
         return session.isConnected();
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         super.send(message, sent);
 
@@ -105,6 +109,7 @@ public void send(Object message, boolean sent) throws RemotingException {
         }
     }
 
+    @Override
     public void close() {
         try {
             super.close();
@@ -126,18 +131,22 @@ public void close() {
         }
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return session.containsAttribute(key);
     }
 
+    @Override
     public Object getAttribute(String key) {
         return session.getAttribute(key);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         session.setAttribute(key, value);
     }
 
+    @Override
     public void removeAttribute(String key) {
         session.removeAttribute(key);
     }
@@ -167,4 +176,4 @@ public String toString() {
         return "MinaChannel [session=" + session + "]";
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaClient.java b/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaClient.java
index 4cd80f74c7..6f0ab9fe48 100644
--- a/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaClient.java
+++ b/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaClient.java
@@ -93,6 +93,7 @@ protected void doConnect() throws Throwable {
         final AtomicReference<Throwable> exception = new AtomicReference<Throwable>();
         final CountDownLatch finish = new CountDownLatch(1); // resolve future.awaitUninterruptibly() dead lock
         future.addListener(new IoFutureListener() {
+            @Override
             public void operationComplete(IoFuture future) {
                 try {
                     if (future.isReady()) {
@@ -169,4 +170,4 @@ protected Channel getChannel() {
         return MinaChannel.getOrAddChannel(s, getUrl(), this);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaCodecAdapter.java b/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaCodecAdapter.java
index 18f2264248..9c3c2bf582 100644
--- a/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaCodecAdapter.java
+++ b/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaCodecAdapter.java
@@ -58,19 +58,23 @@ public MinaCodecAdapter(Codec2 codec, URL url, ChannelHandler handler) {
         this.bufferSize = b >= Constants.MIN_BUFFER_SIZE && b <= Constants.MAX_BUFFER_SIZE ? b : Constants.DEFAULT_BUFFER_SIZE;
     }
 
+    @Override
     public ProtocolEncoder getEncoder() {
         return encoder;
     }
 
+    @Override
     public ProtocolDecoder getDecoder() {
         return decoder;
     }
 
     private class InternalEncoder implements ProtocolEncoder {
 
+        @Override
         public void dispose(IoSession session) throws Exception {
         }
 
+        @Override
         public void encode(IoSession session, Object msg, ProtocolEncoderOutput out) throws Exception {
             ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(1024);
             MinaChannel channel = MinaChannel.getOrAddChannel(session, url, handler);
@@ -88,6 +92,7 @@ public void encode(IoSession session, Object msg, ProtocolEncoderOutput out) thr
 
         private ChannelBuffer buffer = ChannelBuffers.EMPTY_BUFFER;
 
+        @Override
         public void decode(IoSession session, ByteBuffer in, ProtocolDecoderOutput out) throws Exception {
             int readable = in.limit();
             if (readable <= 0) return;
@@ -145,10 +150,12 @@ public void decode(IoSession session, ByteBuffer in, ProtocolDecoderOutput out)
             }
         }
 
+        @Override
         public void dispose(IoSession session) throws Exception {
         }
 
+        @Override
         public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaServer.java b/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaServer.java
index be45b567e5..57053c5f22 100644
--- a/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaServer.java
+++ b/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaServer.java
@@ -79,6 +79,7 @@ protected void doClose() throws Throwable {
         }
     }
 
+    @Override
     public Collection<Channel> getChannels() {
         Set<IoSession> sessions = acceptor.getManagedSessions(getBindAddress());
         Collection<Channel> channels = new HashSet<Channel>();
@@ -90,6 +91,7 @@ protected void doClose() throws Throwable {
         return channels;
     }
 
+    @Override
     public Channel getChannel(InetSocketAddress remoteAddress) {
         Set<IoSession> sessions = acceptor.getManagedSessions(getBindAddress());
         for (IoSession session : sessions) {
@@ -100,8 +102,9 @@ public Channel getChannel(InetSocketAddress remoteAddress) {
         return null;
     }
 
+    @Override
     public boolean isBound() {
         return acceptor.isManaged(getBindAddress());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaTransporter.java b/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaTransporter.java
index 9b2100cfd6..2380444cbd 100644
--- a/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaTransporter.java
+++ b/dubbo-remoting/dubbo-remoting-mina/src/main/java/com/alibaba/dubbo/remoting/transport/mina/MinaTransporter.java
@@ -27,10 +27,12 @@
 
     public static final String NAME = "mina";
 
+    @Override
     public Server bind(URL url, ChannelHandler handler) throws RemotingException {
         return new MinaServer(url, handler);
     }
 
+    @Override
     public Client connect(URL url, ChannelHandler handler) throws RemotingException {
         return new MinaClient(url, handler);
     }
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyBackedChannelBuffer.java b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyBackedChannelBuffer.java
index bcfbb5193e..7d4462ef9c 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyBackedChannelBuffer.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyBackedChannelBuffer.java
@@ -39,36 +39,43 @@ public NettyBackedChannelBuffer(org.jboss.netty.buffer.ChannelBuffer buffer) {
         return buffer;
     }
 
+    @Override
     public int capacity() {
         return buffer.capacity();
     }
 
 
+    @Override
     public ChannelBuffer copy(int index, int length) {
         return new NettyBackedChannelBuffer(buffer.copy(index, length));
     }
 
 
+    @Override
     public ChannelBufferFactory factory() {
         return NettyBackedChannelBufferFactory.getInstance();
     }
 
 
+    @Override
     public byte getByte(int index) {
         return buffer.getByte(index);
     }
 
 
+    @Override
     public void getBytes(int index, byte[] dst, int dstIndex, int length) {
         buffer.getBytes(index, dst, dstIndex, length);
     }
 
 
+    @Override
     public void getBytes(int index, ByteBuffer dst) {
         buffer.getBytes(index, dst);
     }
 
 
+    @Override
     public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length) {
         // careful
         byte[] data = new byte[length];
@@ -77,31 +84,37 @@ public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length) {
     }
 
 
+    @Override
     public void getBytes(int index, OutputStream dst, int length) throws IOException {
         buffer.getBytes(index, dst, length);
     }
 
 
+    @Override
     public boolean isDirect() {
         return buffer.isDirect();
     }
 
 
+    @Override
     public void setByte(int index, int value) {
         buffer.setByte(index, value);
     }
 
 
+    @Override
     public void setBytes(int index, byte[] src, int srcIndex, int length) {
         buffer.setBytes(index, src, srcIndex, length);
     }
 
 
+    @Override
     public void setBytes(int index, ByteBuffer src) {
         buffer.setBytes(index, src);
     }
 
 
+    @Override
     public void setBytes(int index, ChannelBuffer src, int srcIndex, int length) {
         // careful
         byte[] data = new byte[length];
@@ -110,26 +123,31 @@ public void setBytes(int index, ChannelBuffer src, int srcIndex, int length) {
     }
 
 
+    @Override
     public int setBytes(int index, InputStream src, int length) throws IOException {
         return buffer.setBytes(index, src, length);
     }
 
 
+    @Override
     public ByteBuffer toByteBuffer(int index, int length) {
         return buffer.toByteBuffer(index, length);
     }
 
 
+    @Override
     public byte[] array() {
         return buffer.array();
     }
 
 
+    @Override
     public boolean hasArray() {
         return buffer.hasArray();
     }
 
 
+    @Override
     public int arrayOffset() {
         return buffer.arrayOffset();
     }
@@ -138,37 +156,44 @@ public int arrayOffset() {
     // AbstractChannelBuffer
 
 
+    @Override
     public void clear() {
         buffer.clear();
     }
 
 
+    @Override
     public ChannelBuffer copy() {
         return new NettyBackedChannelBuffer(buffer.copy());
     }
 
 
+    @Override
     public void discardReadBytes() {
         buffer.discardReadBytes();
     }
 
 
+    @Override
     public void ensureWritableBytes(int writableBytes) {
         buffer.ensureWritableBytes(writableBytes);
     }
 
 
+    @Override
     public void getBytes(int index, byte[] dst) {
         buffer.getBytes(index, dst);
     }
 
 
+    @Override
     public void getBytes(int index, ChannelBuffer dst) {
         // careful
         getBytes(index, dst, dst.writableBytes());
     }
 
 
+    @Override
     public void getBytes(int index, ChannelBuffer dst, int length) {
         // careful
         if (length > dst.writableBytes()) {
@@ -179,52 +204,62 @@ public void getBytes(int index, ChannelBuffer dst, int length) {
     }
 
 
+    @Override
     public void markReaderIndex() {
         buffer.markReaderIndex();
     }
 
 
+    @Override
     public void markWriterIndex() {
         buffer.markWriterIndex();
     }
 
 
+    @Override
     public boolean readable() {
         return buffer.readable();
     }
 
 
+    @Override
     public int readableBytes() {
         return buffer.readableBytes();
     }
 
 
+    @Override
     public byte readByte() {
         return buffer.readByte();
     }
 
 
+    @Override
     public void readBytes(byte[] dst) {
         buffer.readBytes(dst);
     }
 
 
+    @Override
     public void readBytes(byte[] dst, int dstIndex, int length) {
         buffer.readBytes(dst, dstIndex, length);
     }
 
 
+    @Override
     public void readBytes(ByteBuffer dst) {
         buffer.readBytes(dst);
     }
 
 
+    @Override
     public void readBytes(ChannelBuffer dst) {
         // careful
         readBytes(dst, dst.writableBytes());
     }
 
 
+    @Override
     public void readBytes(ChannelBuffer dst, int length) {
         // carefule
         if (length > dst.writableBytes()) {
@@ -235,6 +270,7 @@ public void readBytes(ChannelBuffer dst, int length) {
     }
 
 
+    @Override
     public void readBytes(ChannelBuffer dst, int dstIndex, int length) {
         // careful
         if (readableBytes() < length) {
@@ -246,47 +282,56 @@ public void readBytes(ChannelBuffer dst, int dstIndex, int length) {
     }
 
 
+    @Override
     public ChannelBuffer readBytes(int length) {
         return new NettyBackedChannelBuffer(buffer.readBytes(length));
     }
 
 
+    @Override
     public void resetReaderIndex() {
         buffer.resetReaderIndex();
     }
 
 
+    @Override
     public void resetWriterIndex() {
         buffer.resetWriterIndex();
     }
 
 
+    @Override
     public int readerIndex() {
         return buffer.readerIndex();
     }
 
 
+    @Override
     public void readerIndex(int readerIndex) {
         buffer.readerIndex(readerIndex);
     }
 
 
+    @Override
     public void readBytes(OutputStream dst, int length) throws IOException {
         buffer.readBytes(dst, length);
     }
 
 
+    @Override
     public void setBytes(int index, byte[] src) {
         buffer.setBytes(index, src);
     }
 
 
+    @Override
     public void setBytes(int index, ChannelBuffer src) {
         // careful
         setBytes(index, src, src.readableBytes());
     }
 
 
+    @Override
     public void setBytes(int index, ChannelBuffer src, int length) {
         // careful
         if (length > src.readableBytes()) {
@@ -297,57 +342,68 @@ public void setBytes(int index, ChannelBuffer src, int length) {
     }
 
 
+    @Override
     public void setIndex(int readerIndex, int writerIndex) {
         buffer.setIndex(readerIndex, writerIndex);
     }
 
 
+    @Override
     public void skipBytes(int length) {
         buffer.skipBytes(length);
     }
 
 
+    @Override
     public ByteBuffer toByteBuffer() {
         return buffer.toByteBuffer();
     }
 
 
+    @Override
     public boolean writable() {
         return buffer.writable();
     }
 
 
+    @Override
     public int writableBytes() {
         return buffer.writableBytes();
     }
 
 
+    @Override
     public void writeByte(int value) {
         buffer.writeByte(value);
     }
 
 
+    @Override
     public void writeBytes(byte[] src) {
         buffer.writeBytes(src);
     }
 
 
+    @Override
     public void writeBytes(byte[] src, int index, int length) {
         buffer.writeBytes(src, index, length);
     }
 
 
+    @Override
     public void writeBytes(ByteBuffer src) {
         buffer.writeBytes(src);
     }
 
 
+    @Override
     public void writeBytes(ChannelBuffer src) {
         // careful
         writeBytes(src, src.readableBytes());
     }
 
 
+    @Override
     public void writeBytes(ChannelBuffer src, int length) {
         // careful
         if (length > src.readableBytes()) {
@@ -358,6 +414,7 @@ public void writeBytes(ChannelBuffer src, int length) {
     }
 
 
+    @Override
     public void writeBytes(ChannelBuffer src, int srcIndex, int length) {
         // careful
         byte[] data = new byte[length];
@@ -366,21 +423,25 @@ public void writeBytes(ChannelBuffer src, int srcIndex, int length) {
     }
 
 
+    @Override
     public int writeBytes(InputStream src, int length) throws IOException {
         return buffer.writeBytes(src, length);
     }
 
 
+    @Override
     public int writerIndex() {
         return buffer.writerIndex();
     }
 
 
+    @Override
     public void writerIndex(int writerIndex) {
         buffer.writerIndex(writerIndex);
     }
 
 
+    @Override
     public int compareTo(ChannelBuffer o) {
         return ChannelBuffers.compare(this, o);
     }
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyBackedChannelBufferFactory.java b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyBackedChannelBufferFactory.java
index f35909eb74..68f73c67ad 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyBackedChannelBufferFactory.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyBackedChannelBufferFactory.java
@@ -35,11 +35,13 @@ public static ChannelBufferFactory getInstance() {
     }
 
 
+    @Override
     public ChannelBuffer getBuffer(int capacity) {
         return new NettyBackedChannelBuffer(ChannelBuffers.dynamicBuffer(capacity));
     }
 
 
+    @Override
     public ChannelBuffer getBuffer(byte[] array, int offset, int length) {
         org.jboss.netty.buffer.ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(length);
         buffer.writeBytes(array, offset, length);
@@ -47,6 +49,7 @@ public ChannelBuffer getBuffer(byte[] array, int offset, int length) {
     }
 
 
+    @Override
     public ChannelBuffer getBuffer(ByteBuffer nioBuffer) {
         return new NettyBackedChannelBuffer(ChannelBuffers.wrappedBuffer(nioBuffer));
     }
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyChannel.java b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyChannel.java
index a866db2b39..65cc7b4fe1 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyChannel.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyChannel.java
@@ -75,18 +75,22 @@ static void removeChannelIfDisconnected(org.jboss.netty.channel.Channel ch) {
         }
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return (InetSocketAddress) channel.getLocalAddress();
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return (InetSocketAddress) channel.getRemoteAddress();
     }
 
+    @Override
     public boolean isConnected() {
         return channel.isConnected();
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         super.send(message, sent);
 
@@ -112,6 +116,7 @@ public void send(Object message, boolean sent) throws RemotingException {
         }
     }
 
+    @Override
     public void close() {
         try {
             super.close();
@@ -138,14 +143,17 @@ public void close() {
         }
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return attributes.containsKey(key);
     }
 
+    @Override
     public Object getAttribute(String key) {
         return attributes.get(key);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         if (value == null) { // The null value unallowed in the ConcurrentHashMap.
             attributes.remove(key);
@@ -154,6 +162,7 @@ public void setAttribute(String key, Object value) {
         }
     }
 
+    @Override
     public void removeAttribute(String key) {
         attributes.remove(key);
     }
@@ -183,4 +192,4 @@ public String toString() {
         return "NettyChannel [channel=" + channel + "]";
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyClient.java b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyClient.java
index 404fbb898c..8015e91ae5 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyClient.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyClient.java
@@ -70,6 +70,7 @@ protected void doOpen() throws Throwable {
         bootstrap.setOption("connectTimeoutMillis", getTimeout());
         final NettyHandler nettyHandler = new NettyHandler(getUrl(), this);
         bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
+            @Override
             public ChannelPipeline getPipeline() {
                 NettyCodecAdapter adapter = new NettyCodecAdapter(getCodec(), getUrl(), NettyClient.this);
                 ChannelPipeline pipeline = Channels.pipeline();
@@ -81,6 +82,7 @@ public ChannelPipeline getPipeline() {
         });
     }
 
+    @Override
     protected void doConnect() throws Throwable {
         long start = System.currentTimeMillis();
         ChannelFuture future = bootstrap.connect(getConnectAddress());
@@ -160,4 +162,4 @@ protected void doClose() throws Throwable {
         return NettyChannel.getOrAddChannel(c, getUrl(), this);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyHelper.java b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyHelper.java
index 93ceced419..edf0c64b13 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyHelper.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyHelper.java
@@ -48,50 +48,62 @@ public InternalLogger newInstance(String name) {
             this.logger = logger;
         }
 
+        @Override
         public boolean isDebugEnabled() {
             return logger.isDebugEnabled();
         }
 
+        @Override
         public boolean isInfoEnabled() {
             return logger.isInfoEnabled();
         }
 
+        @Override
         public boolean isWarnEnabled() {
             return logger.isWarnEnabled();
         }
 
+        @Override
         public boolean isErrorEnabled() {
             return logger.isErrorEnabled();
         }
 
+        @Override
         public void debug(String msg) {
             logger.debug(msg);
         }
 
+        @Override
         public void debug(String msg, Throwable cause) {
             logger.debug(msg, cause);
         }
 
+        @Override
         public void info(String msg) {
             logger.info(msg);
         }
 
+        @Override
         public void info(String msg, Throwable cause) {
             logger.info(msg, cause);
         }
 
+        @Override
         public void warn(String msg) {
             logger.warn(msg);
         }
 
+        @Override
         public void warn(String msg, Throwable cause) {
             logger.warn(msg, cause);
         }
 
+        @Override
         public void error(String msg) {
             logger.error(msg);
         }
 
+        @Override
         public void error(String msg, Throwable cause) {
             logger.error(msg, cause);
         }
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyServer.java b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyServer.java
index c7e77d7e6f..82ab60b139 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyServer.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyServer.java
@@ -75,6 +75,7 @@ protected void doOpen() throws Throwable {
         // https://issues.jboss.org/browse/NETTY-379
         // final Timer timer = new HashedWheelTimer(new NamedThreadFactory("NettyIdleTimer", true));
         bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
+            @Override
             public ChannelPipeline getPipeline() {
                 NettyCodecAdapter adapter = new NettyCodecAdapter(getCodec(), getUrl(), NettyServer.this);
                 ChannelPipeline pipeline = Channels.pipeline();
@@ -133,6 +134,7 @@ protected void doClose() throws Throwable {
         }
     }
 
+    @Override
     public Collection<Channel> getChannels() {
         Collection<Channel> chs = new HashSet<Channel>();
         for (Channel channel : this.channels.values()) {
@@ -145,12 +147,14 @@ protected void doClose() throws Throwable {
         return chs;
     }
 
+    @Override
     public Channel getChannel(InetSocketAddress remoteAddress) {
         return channels.get(NetUtils.toAddressString(remoteAddress));
     }
 
+    @Override
     public boolean isBound() {
         return channel.isBound();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyTransporter.java b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyTransporter.java
index 128f046433..bbe0e96cf0 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyTransporter.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/main/java/com/alibaba/dubbo/remoting/transport/netty/NettyTransporter.java
@@ -27,10 +27,12 @@
 
     public static final String NAME = "netty";
 
+    @Override
     public Server bind(URL url, ChannelHandler listener) throws RemotingException {
         return new NettyServer(url, listener);
     }
 
+    @Override
     public Client connect(URL url, ChannelHandler listener) throws RemotingException {
         return new NettyClient(url, listener);
     }
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java
index 34ece68aaf..89fc6f44b5 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java
@@ -111,22 +111,27 @@ public Object reply(ExchangeChannel channel, Object request) throws RemotingExce
             return request;
         }
 
+        @Override
         public void connected(Channel channel) throws RemotingException {
             ++connectCount;
         }
 
+        @Override
         public void disconnected(Channel channel) throws RemotingException {
             ++disconnectCount;
         }
 
+        @Override
         public void sent(Channel channel, Object message) throws RemotingException {
 
         }
 
+        @Override
         public void received(Channel channel, Object message) throws RemotingException {
             logger.error(this.getClass().getSimpleName() + message.toString());
         }
 
+        @Override
         public void caught(Channel channel, Throwable exception) throws RemotingException {
             exception.printStackTrace();
         }
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientReconnectTest.java b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientReconnectTest.java
index 3658f4f1bd..b00f5679e3 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientReconnectTest.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientReconnectTest.java
@@ -106,13 +106,16 @@ public Server startServer(int port) throws RemotingException {
     }
 
     static class HandlerAdapter extends ExchangeHandlerAdapter {
+        @Override
         public void connected(Channel channel) throws RemotingException {
         }
 
+        @Override
         public void disconnected(Channel channel) throws RemotingException {
         }
 
+        @Override
         public void caught(Channel channel, Throwable exception) throws RemotingException {
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ThreadNameTest.java b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ThreadNameTest.java
index 306bc70e18..9050161093 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ThreadNameTest.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ThreadNameTest.java
@@ -98,26 +98,31 @@ private void output(String method) {
                     + " " + (client ? "client " + method : "server " + method));
         }
 
+        @Override
         public void connected(Channel channel) throws RemotingException {
             output("connected");
             checkThreadName();
         }
 
+        @Override
         public void disconnected(Channel channel) throws RemotingException {
             output("disconnected");
             checkThreadName();
         }
 
+        @Override
         public void sent(Channel channel, Object message) throws RemotingException {
             output("sent");
             checkThreadName();
         }
 
+        @Override
         public void received(Channel channel, Object message) throws RemotingException {
             output("received");
             checkThreadName();
         }
 
+        @Override
         public void caught(Channel channel, Throwable exception) throws RemotingException {
             output("caught");
             checkThreadName();
diff --git a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyBackedChannelBuffer.java b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyBackedChannelBuffer.java
index 1748be2050..e6167cde52 100644
--- a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyBackedChannelBuffer.java
+++ b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyBackedChannelBuffer.java
@@ -37,36 +37,43 @@ public NettyBackedChannelBuffer(ByteBuf buffer) {
     }
 
     
+    @Override
     public int capacity() {
         return buffer.capacity();
     }
 
     
+    @Override
     public ChannelBuffer copy(int index, int length) {
         return new NettyBackedChannelBuffer(buffer.copy(index, length));
     }
 
     //has nothing use
+    @Override
     public ChannelBufferFactory factory() {
         return null;
     }
 
     
+    @Override
     public byte getByte(int index) {
         return buffer.getByte(index);
     }
 
     
+    @Override
     public void getBytes(int index, byte[] dst, int dstIndex, int length) {
         buffer.getBytes(index, dst, dstIndex, length);
     }
 
     
+    @Override
     public void getBytes(int index, ByteBuffer dst) {
         buffer.getBytes(index, dst);
     }
 
     
+    @Override
     public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length) {
         // careful
         byte[] data = new byte[length];
@@ -75,31 +82,37 @@ public void getBytes(int index, ChannelBuffer dst, int dstIndex, int length) {
     }
 
     
+    @Override
     public void getBytes(int index, OutputStream dst, int length) throws IOException {
         buffer.getBytes(index, dst, length);
     }
 
     
+    @Override
     public boolean isDirect() {
         return buffer.isDirect();
     }
 
     
+    @Override
     public void setByte(int index, int value) {
         buffer.setByte(index, value);
     }
 
     
+    @Override
     public void setBytes(int index, byte[] src, int srcIndex, int length) {
         buffer.setBytes(index, src, srcIndex, length);
     }
 
     
+    @Override
     public void setBytes(int index, ByteBuffer src) {
         buffer.setBytes(index, src);
     }
 
     
+    @Override
     public void setBytes(int index, ChannelBuffer src, int srcIndex, int length) {
         // careful
         byte[] data = new byte[length];
@@ -108,26 +121,31 @@ public void setBytes(int index, ChannelBuffer src, int srcIndex, int length) {
     }
 
     
+    @Override
     public int setBytes(int index, InputStream src, int length) throws IOException {
         return buffer.setBytes(index, src, length);
     }
 
     
+    @Override
     public ByteBuffer toByteBuffer(int index, int length) {
         return buffer.nioBuffer(index, length);
     }
 
     
+    @Override
     public byte[] array() {
         return buffer.array();
     }
 
     
+    @Override
     public boolean hasArray() {
         return buffer.hasArray();
     }
 
     
+    @Override
     public int arrayOffset() {
         return buffer.arrayOffset();
     }
@@ -137,37 +155,44 @@ public int arrayOffset() {
 
 
     
+    @Override
     public void clear() {
         buffer.clear();
     }
 
     
+    @Override
     public ChannelBuffer copy() {
         return new NettyBackedChannelBuffer(buffer.copy());
     }
 
     
+    @Override
     public void discardReadBytes() {
         buffer.discardReadBytes();
     }
 
     
+    @Override
     public void ensureWritableBytes(int writableBytes) {
         buffer.ensureWritable(writableBytes);
     }
 
     
+    @Override
     public void getBytes(int index, byte[] dst) {
         buffer.getBytes(index, dst);
     }
 
     
+    @Override
     public void getBytes(int index, ChannelBuffer dst) {
         // careful
         getBytes(index, dst, dst.writableBytes());
     }
 
     
+    @Override
     public void getBytes(int index, ChannelBuffer dst, int length) {
         // careful
         if (length > dst.writableBytes()) {
@@ -178,52 +203,62 @@ public void getBytes(int index, ChannelBuffer dst, int length) {
     }
 
     
+    @Override
     public void markReaderIndex() {
         buffer.markReaderIndex();
     }
 
     
+    @Override
     public void markWriterIndex() {
         buffer.markWriterIndex();
     }
 
     
+    @Override
     public boolean readable() {
         return buffer.isReadable();
     }
 
     
+    @Override
     public int readableBytes() {
         return buffer.readableBytes();
     }
 
     
+    @Override
     public byte readByte() {
         return buffer.readByte();
     }
 
     
+    @Override
     public void readBytes(byte[] dst) {
         buffer.readBytes(dst);
     }
 
     
+    @Override
     public void readBytes(byte[] dst, int dstIndex, int length) {
         buffer.readBytes(dst, dstIndex, length);
     }
 
     
+    @Override
     public void readBytes(ByteBuffer dst) {
         buffer.readBytes(dst);
     }
 
     
+    @Override
     public void readBytes(ChannelBuffer dst) {
         // careful
         readBytes(dst, dst.writableBytes());
     }
 
     
+    @Override
     public void readBytes(ChannelBuffer dst, int length) {
         // carefule
         if (length > dst.writableBytes()) {
@@ -234,6 +269,7 @@ public void readBytes(ChannelBuffer dst, int length) {
     }
 
     
+    @Override
     public void readBytes(ChannelBuffer dst, int dstIndex, int length) {
         // careful
         if (readableBytes() < length) {
@@ -245,47 +281,56 @@ public void readBytes(ChannelBuffer dst, int dstIndex, int length) {
     }
 
     
+    @Override
     public ChannelBuffer readBytes(int length) {
         return new NettyBackedChannelBuffer(buffer.readBytes(length));
     }
 
     
+    @Override
     public void resetReaderIndex() {
         buffer.resetReaderIndex();
     }
 
     
+    @Override
     public void resetWriterIndex() {
         buffer.resetWriterIndex();
     }
 
     
+    @Override
     public int readerIndex() {
         return buffer.readerIndex();
     }
 
     
+    @Override
     public void readerIndex(int readerIndex) {
         buffer.readerIndex(readerIndex);
     }
 
     
+    @Override
     public void readBytes(OutputStream dst, int length) throws IOException {
         buffer.readBytes(dst, length);
     }
 
     
+    @Override
     public void setBytes(int index, byte[] src) {
         buffer.setBytes(index, src);
     }
 
     
+    @Override
     public void setBytes(int index, ChannelBuffer src) {
         // careful
         setBytes(index, src, src.readableBytes());
     }
 
     
+    @Override
     public void setBytes(int index, ChannelBuffer src, int length) {
         // careful
         if (length > src.readableBytes()) {
@@ -296,57 +341,68 @@ public void setBytes(int index, ChannelBuffer src, int length) {
     }
 
     
+    @Override
     public void setIndex(int readerIndex, int writerIndex) {
         buffer.setIndex(readerIndex, writerIndex);
     }
 
     
+    @Override
     public void skipBytes(int length) {
         buffer.skipBytes(length);
     }
 
     
+    @Override
     public ByteBuffer toByteBuffer() {
         return buffer.nioBuffer();
     }
 
     
+    @Override
     public boolean writable() {
         return buffer.isWritable();
     }
 
     
+    @Override
     public int writableBytes() {
         return buffer.writableBytes();
     }
 
     
+    @Override
     public void writeByte(int value) {
         buffer.writeByte(value);
     }
 
     
+    @Override
     public void writeBytes(byte[] src) {
         buffer.writeBytes(src);
     }
 
     
+    @Override
     public void writeBytes(byte[] src, int index, int length) {
         buffer.writeBytes(src, index, length);
     }
 
     
+    @Override
     public void writeBytes(ByteBuffer src) {
         buffer.writeBytes(src);
     }
 
     
+    @Override
     public void writeBytes(ChannelBuffer src) {
         // careful
         writeBytes(src, src.readableBytes());
     }
 
     
+    @Override
     public void writeBytes(ChannelBuffer src, int length) {
         // careful
         if (length > src.readableBytes()) {
@@ -357,6 +413,7 @@ public void writeBytes(ChannelBuffer src, int length) {
     }
 
     
+    @Override
     public void writeBytes(ChannelBuffer src, int srcIndex, int length) {
         // careful
         byte[] data = new byte[length];
@@ -365,21 +422,25 @@ public void writeBytes(ChannelBuffer src, int srcIndex, int length) {
     }
 
     
+    @Override
     public int writeBytes(InputStream src, int length) throws IOException {
         return buffer.writeBytes(src, length);
     }
 
     
+    @Override
     public int writerIndex() {
         return buffer.writerIndex();
     }
 
     
+    @Override
     public void writerIndex(int writerIndex) {
         buffer.writerIndex(writerIndex);
     }
 
     
+    @Override
     public int compareTo(ChannelBuffer o) {
         return ChannelBuffers.compare(this, o);
     }
diff --git a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyChannel.java b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyChannel.java
index 9cb0bd1154..97c11547fd 100644
--- a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyChannel.java
+++ b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyChannel.java
@@ -76,18 +76,22 @@ static void removeChannelIfDisconnected(Channel ch) {
         }
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return (InetSocketAddress) channel.localAddress();
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return (InetSocketAddress) channel.remoteAddress();
     }
 
+    @Override
     public boolean isConnected() {
         return !isClosed() && channel.isActive();
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         super.send(message, sent);
 
@@ -113,6 +117,7 @@ public void send(Object message, boolean sent) throws RemotingException {
         }
     }
 
+    @Override
     public void close() {
         try {
             super.close();
@@ -139,14 +144,17 @@ public void close() {
         }
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return attributes.containsKey(key);
     }
 
+    @Override
     public Object getAttribute(String key) {
         return attributes.get(key);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         if (value == null) { // The null value unallowed in the ConcurrentHashMap.
             attributes.remove(key);
@@ -155,6 +163,7 @@ public void setAttribute(String key, Object value) {
         }
     }
 
+    @Override
     public void removeAttribute(String key) {
         attributes.remove(key);
     }
@@ -184,4 +193,4 @@ public String toString() {
         return "NettyChannel [channel=" + channel + "]";
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyClient.java b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyClient.java
index d356bc8f21..73c54b7499 100644
--- a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyClient.java
+++ b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyClient.java
@@ -76,6 +76,7 @@ protected void doOpen() throws Throwable {
 
         bootstrap.handler(new ChannelInitializer() {
 
+            @Override
             protected void initChannel(Channel ch) throws Exception {
                 NettyCodecAdapter adapter = new NettyCodecAdapter(getCodec(), getUrl(), NettyClient.this);
                 ch.pipeline()//.addLast("logging",new LoggingHandler(LogLevel.INFO))//for debug
@@ -86,6 +87,7 @@ protected void initChannel(Channel ch) throws Exception {
         });
     }
 
+    @Override
     protected void doConnect() throws Throwable {
         long start = System.currentTimeMillis();
         ChannelFuture future = bootstrap.connect(getConnectAddress());
diff --git a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyCodecAdapter.java b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyCodecAdapter.java
index dc15705c30..22833b775c 100644
--- a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyCodecAdapter.java
+++ b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyCodecAdapter.java
@@ -61,6 +61,7 @@ public ChannelHandler getDecoder() {
 
     private class InternalEncoder extends MessageToByteEncoder {
 
+        @Override
         protected void encode(ChannelHandlerContext ctx, Object msg, ByteBuf out) throws Exception {
             com.alibaba.dubbo.remoting.buffer.ChannelBuffer buffer = new NettyBackedChannelBuffer(out);
             Channel ch = ctx.channel();
@@ -75,6 +76,7 @@ protected void encode(ChannelHandlerContext ctx, Object msg, ByteBuf out) throws
 
     private class InternalDecoder extends ByteToMessageDecoder {
 
+        @Override
         protected void decode(ChannelHandlerContext ctx, ByteBuf input, List<Object> out) throws Exception {
 
             ChannelBuffer message = new NettyBackedChannelBuffer(input);
@@ -112,4 +114,4 @@ protected void decode(ChannelHandlerContext ctx, ByteBuf input, List<Object> out
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyServer.java b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyServer.java
index ef70c2d902..1924bd16e8 100644
--- a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyServer.java
+++ b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyServer.java
@@ -142,6 +142,7 @@ protected void doClose() throws Throwable {
         }
     }
 
+    @Override
     public Collection<Channel> getChannels() {
         Collection<Channel> chs = new HashSet<Channel>();
         for (Channel channel : this.channels.values()) {
@@ -154,12 +155,14 @@ protected void doClose() throws Throwable {
         return chs;
     }
 
+    @Override
     public Channel getChannel(InetSocketAddress remoteAddress) {
         return channels.get(NetUtils.toAddressString(remoteAddress));
     }
 
+    @Override
     public boolean isBound() {
         return channel.isActive();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyTransporter.java b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyTransporter.java
index 4a4ac209bd..1a1f4bc7f7 100644
--- a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyTransporter.java
+++ b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/NettyTransporter.java
@@ -27,10 +27,12 @@
 
     public static final String NAME = "netty4";
 
+    @Override
     public Server bind(URL url, ChannelHandler listener) throws RemotingException {
         return new NettyServer(url, listener);
     }
 
+    @Override
     public Client connect(URL url, ChannelHandler listener) throws RemotingException {
         return new NettyClient(url, listener);
     }
diff --git a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/logging/NettyHelper.java b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/logging/NettyHelper.java
index 7b54636fdd..715aa6479d 100644
--- a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/logging/NettyHelper.java
+++ b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/com/alibaba/dubbo/remoting/transport/netty4/logging/NettyHelper.java
@@ -48,16 +48,19 @@ public InternalLogger newInstance(String name) {
             this.logger = logger;
         }
 
+        @Override
         public boolean isTraceEnabled() {
             return logger.isTraceEnabled();
         }
 
+        @Override
         public void trace(String msg) {
             if (isTraceEnabled()) {
                 logger.trace(msg);
             }
         }
 
+        @Override
         public void trace(String format, Object arg) {
             if (isTraceEnabled()) {
                 FormattingTuple ft = MessageFormatter.format(format, arg);
@@ -66,6 +69,7 @@ public void trace(String format, Object arg) {
 
         }
 
+        @Override
         public void trace(String format, Object argA, Object argB) {
             if (isTraceEnabled()) {
                 FormattingTuple ft = MessageFormatter.format(format, argA, argB);
@@ -73,6 +77,7 @@ public void trace(String format, Object argA, Object argB) {
             }
         }
 
+        @Override
         public void trace(String format, Object... arguments) {
             if (isTraceEnabled()) {
                 FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
@@ -80,22 +85,26 @@ public void trace(String format, Object... arguments) {
             }
         }
 
+        @Override
         public void trace(String msg, Throwable t) {
             if (isTraceEnabled()) {
                 logger.trace(msg, t);
             }
         }
 
+        @Override
         public boolean isDebugEnabled() {
             return logger.isDebugEnabled();
         }
 
+        @Override
         public void debug(String msg) {
             if (isDebugEnabled()) {
                 logger.debug(msg);
             }
         }
 
+        @Override
         public void debug(String format, Object arg) {
             if (isDebugEnabled()) {
                 FormattingTuple ft = MessageFormatter.format(format, arg);
@@ -103,6 +112,7 @@ public void debug(String format, Object arg) {
             }
         }
 
+        @Override
         public void debug(String format, Object argA, Object argB) {
             if (isDebugEnabled()) {
                 FormattingTuple ft = MessageFormatter.format(format, argA, argB);
@@ -110,6 +120,7 @@ public void debug(String format, Object argA, Object argB) {
             }
         }
 
+        @Override
         public void debug(String format, Object... arguments) {
             if (isDebugEnabled()) {
                 FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
@@ -117,22 +128,26 @@ public void debug(String format, Object... arguments) {
             }
         }
 
+        @Override
         public void debug(String msg, Throwable t) {
             if (isDebugEnabled()) {
                 logger.debug(msg, t);
             }
         }
 
+        @Override
         public boolean isInfoEnabled() {
             return logger.isInfoEnabled();
         }
 
+        @Override
         public void info(String msg) {
             if (isInfoEnabled()) {
                 logger.info(msg);
             }
         }
 
+        @Override
         public void info(String format, Object arg) {
             if (isInfoEnabled()) {
                 FormattingTuple ft = MessageFormatter.format(format, arg);
@@ -140,6 +155,7 @@ public void info(String format, Object arg) {
             }
         }
 
+        @Override
         public void info(String format, Object argA, Object argB) {
             if (isInfoEnabled()) {
                 FormattingTuple ft = MessageFormatter.format(format, argA, argB);
@@ -147,6 +163,7 @@ public void info(String format, Object argA, Object argB) {
             }
         }
 
+        @Override
         public void info(String format, Object... arguments) {
             if (isInfoEnabled()) {
                 FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
@@ -154,22 +171,26 @@ public void info(String format, Object... arguments) {
             }
         }
 
+        @Override
         public void info(String msg, Throwable t) {
             if (isInfoEnabled()) {
                 logger.info(msg, t);
             }
         }
 
+        @Override
         public boolean isWarnEnabled() {
             return false;
         }
 
+        @Override
         public void warn(String msg) {
             if (isWarnEnabled()) {
                 logger.warn(msg);
             }
         }
 
+        @Override
         public void warn(String format, Object arg) {
             if (isWarnEnabled()) {
                 FormattingTuple ft = MessageFormatter.format(format, arg);
@@ -177,6 +198,7 @@ public void warn(String format, Object arg) {
             }
         }
 
+        @Override
         public void warn(String format, Object... arguments) {
             if (isWarnEnabled()) {
                 FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
@@ -184,6 +206,7 @@ public void warn(String format, Object... arguments) {
             }
         }
 
+        @Override
         public void warn(String format, Object argA, Object argB) {
             if (isWarnEnabled()) {
                 FormattingTuple ft = MessageFormatter.format(format, argA, argB);
@@ -191,22 +214,26 @@ public void warn(String format, Object argA, Object argB) {
             }
         }
 
+        @Override
         public void warn(String msg, Throwable t) {
             if (isWarnEnabled()) {
                 logger.warn(msg, t);
             }
         }
 
+        @Override
         public boolean isErrorEnabled() {
             return logger.isErrorEnabled();
         }
 
+        @Override
         public void error(String msg) {
             if (isErrorEnabled()) {
                 logger.error(msg);
             }
         }
 
+        @Override
         public void error(String format, Object arg) {
             if (isErrorEnabled()) {
                 FormattingTuple ft = MessageFormatter.format(format, arg);
@@ -214,6 +241,7 @@ public void error(String format, Object arg) {
             }
         }
 
+        @Override
         public void error(String format, Object argA, Object argB) {
             if (isErrorEnabled()) {
                 FormattingTuple ft = MessageFormatter.format(format, argA, argB);
@@ -221,6 +249,7 @@ public void error(String format, Object argA, Object argB) {
             }
         }
 
+        @Override
         public void error(String format, Object... arguments) {
             if (isErrorEnabled()) {
                 FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
@@ -228,6 +257,7 @@ public void error(String format, Object... arguments) {
             }
         }
 
+        @Override
         public void error(String msg, Throwable t) {
             if (isErrorEnabled()) {
                 logger.error(msg, t);
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/AbstractExchangeGroup.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/AbstractExchangeGroup.java
index 32767c9231..a727f41615 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/AbstractExchangeGroup.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/AbstractExchangeGroup.java
@@ -59,10 +59,12 @@ public AbstractExchangeGroup(URL url) {
         this.url = url;
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     public void close() {
         for (URL url : new ArrayList<URL>(servers.keySet())) {
             try {
@@ -80,10 +82,12 @@ public void close() {
         }
     }
 
+    @Override
     public Peer join(URL url, ChannelHandler handler) throws RemotingException {
         return join(url, (ExchangeHandler) handler);
     }
 
+    @Override
     public ExchangePeer join(URL url, ExchangeHandler handler) throws RemotingException {
         ExchangeServer server = servers.get(url);
         if (server == null) { // TODO exist concurrent gap
@@ -94,6 +98,7 @@ public ExchangePeer join(URL url, ExchangeHandler handler) throws RemotingExcept
         return new ExchangeServerPeer(server, clients, this);
     }
 
+    @Override
     public void leave(URL url) throws RemotingException {
         Server server = servers.remove(url);
         if (server != null) {
@@ -120,4 +125,4 @@ protected void disconnect(URL url) throws RemotingException {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/ExchangeServerPeer.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/ExchangeServerPeer.java
index b6d7768222..0ed3612406 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/ExchangeServerPeer.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/ExchangeServerPeer.java
@@ -52,6 +52,7 @@ public ExchangeServerPeer(ExchangeServer server, Map<URL, ExchangeClient> client
         this.group = group;
     }
 
+    @Override
     public void leave() throws RemotingException {
         group.leave(getUrl());
     }
@@ -133,4 +134,4 @@ public void send(Object message, boolean sent) throws RemotingException {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/FileExchangeGroup.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/FileExchangeGroup.java
index e0dd35c481..d649eb1fb2 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/FileExchangeGroup.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/FileExchangeGroup.java
@@ -54,6 +54,7 @@ public FileExchangeGroup(URL url) {
             throw new IllegalStateException("The group file not exists. file: " + path);
         }
         checkModifiedFuture = scheduledExecutorService.scheduleWithFixedDelay(new Runnable() {
+            @Override
             public void run() {
                 // check the file change
                 try {
@@ -65,6 +66,7 @@ public void run() {
         }, 2000, 2000, TimeUnit.MILLISECONDS);
     }
 
+    @Override
     public void close() {
         super.close();
         try {
@@ -131,4 +133,4 @@ public void leave(URL url) throws RemotingException {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/FileExchangeNetworker.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/FileExchangeNetworker.java
index cd651ba03d..0550a22cb6 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/FileExchangeNetworker.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/FileExchangeNetworker.java
@@ -26,8 +26,9 @@
  */
 public class FileExchangeNetworker implements ExchangeNetworker {
 
+    @Override
     public ExchangeGroup lookup(URL url) throws RemotingException {
         return new FileExchangeGroup(url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/MulticastExchangeGroup.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/MulticastExchangeGroup.java
index a9d3e6d2e2..99d0776bd8 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/MulticastExchangeGroup.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/MulticastExchangeGroup.java
@@ -52,6 +52,7 @@ public MulticastExchangeGroup(URL url) {
             mutilcastSocket.setLoopbackMode(false);
             mutilcastSocket.joinGroup(mutilcastAddress);
             Thread thread = new Thread(new Runnable() {
+                @Override
                 public void run() {
                     byte[] buf = new byte[1024];
                     DatagramPacket recv = new DatagramPacket(buf, buf.length);
@@ -116,4 +117,4 @@ public void leave(URL url) throws RemotingException {
         send(LEAVE + " " + url.toFullString());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/MulticastExchangeNetworker.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/MulticastExchangeNetworker.java
index 048ff23c33..f5523c99bf 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/MulticastExchangeNetworker.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/exchange/support/MulticastExchangeNetworker.java
@@ -26,8 +26,9 @@
  */
 public class MulticastExchangeNetworker implements ExchangeNetworker {
 
+    @Override
     public ExchangeGroup lookup(URL url) throws RemotingException {
         return new MulticastExchangeGroup(url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/AbstractGroup.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/AbstractGroup.java
index 4374d4b4c0..813bdcc9de 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/AbstractGroup.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/AbstractGroup.java
@@ -55,10 +55,12 @@ public AbstractGroup(URL url) {
         this.url = url;
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     public void close() {
         for (URL url : new ArrayList<URL>(servers.keySet())) {
             try {
@@ -76,6 +78,7 @@ public void close() {
         }
     }
 
+    @Override
     public Peer join(URL url, ChannelHandler handler) throws RemotingException {
         Server server = servers.get(url);
         if (server == null) { // TODO exist concurrent gap
@@ -86,6 +89,7 @@ public Peer join(URL url, ChannelHandler handler) throws RemotingException {
         return new ServerPeer(server, clients, this);
     }
 
+    @Override
     public void leave(URL url) throws RemotingException {
         Server server = servers.remove(url);
         if (server != null) {
@@ -112,4 +116,4 @@ protected void disconnect(URL url) throws RemotingException {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/FileGroup.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/FileGroup.java
index 346559cde0..22072bdcf5 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/FileGroup.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/FileGroup.java
@@ -51,6 +51,7 @@ public FileGroup(URL url) {
         String path = url.getAbsolutePath();
         file = new File(path);
         checkModifiedFuture = scheduledExecutorService.scheduleWithFixedDelay(new Runnable() {
+            @Override
             public void run() {
                 // Check the file change
                 try {
@@ -62,6 +63,7 @@ public void run() {
         }, 2000, 2000, TimeUnit.MILLISECONDS);
     }
 
+    @Override
     public void close() {
         super.close();
         try {
@@ -92,6 +94,7 @@ private void changed() throws RemotingException {
         }
     }
 
+    @Override
     public Peer join(URL url, ChannelHandler handler) throws RemotingException {
         Peer peer = super.join(url, handler);
         try {
@@ -128,4 +131,4 @@ public void leave(URL url) throws RemotingException {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/FileNetworker.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/FileNetworker.java
index d09ef2e817..8ec972e8a0 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/FileNetworker.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/FileNetworker.java
@@ -26,8 +26,9 @@
  */
 public class FileNetworker implements Networker {
 
+    @Override
     public Group lookup(URL url) throws RemotingException {
         return new FileGroup(url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/MulticastGroup.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/MulticastGroup.java
index bb3592ea96..979e6ef7bc 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/MulticastGroup.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/MulticastGroup.java
@@ -52,6 +52,7 @@ public MulticastGroup(URL url) {
             mutilcastSocket.setLoopbackMode(false);
             mutilcastSocket.joinGroup(mutilcastAddress);
             Thread thread = new Thread(new Runnable() {
+                @Override
                 public void run() {
                     byte[] buf = new byte[1024];
                     DatagramPacket recv = new DatagramPacket(buf, buf.length);
@@ -116,4 +117,4 @@ public void leave(URL url) throws RemotingException {
         send(LEAVE + " " + url.toFullString());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/MulticastNetworker.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/MulticastNetworker.java
index 0755de623e..8b5c9277b0 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/MulticastNetworker.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/MulticastNetworker.java
@@ -26,8 +26,9 @@
  */
 public class MulticastNetworker implements Networker {
 
+    @Override
     public Group lookup(URL url) throws RemotingException {
         return new MulticastGroup(url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/ServerPeer.java b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/ServerPeer.java
index a6bc7f9e86..d562b30440 100644
--- a/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/ServerPeer.java
+++ b/dubbo-remoting/dubbo-remoting-p2p/src/main/java/com/alibaba/dubbo/remoting/p2p/support/ServerPeer.java
@@ -50,6 +50,7 @@ public ServerPeer(Server server, Map<URL, Client> clients, Group group) {
         this.group = group;
     }
 
+    @Override
     public void leave() throws RemotingException {
         group.leave(getUrl());
     }
@@ -120,4 +121,4 @@ public void send(Object message, boolean sent) throws RemotingException {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java
index 33ddf43d24..a08edc9a2b 100644
--- a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java
+++ b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java
@@ -53,6 +53,7 @@ public CuratorZookeeperClient(URL url) {
             }
             client = builder.build();
             client.getConnectionStateListenable().addListener(new ConnectionStateListener() {
+                @Override
                 public void stateChanged(CuratorFramework client, ConnectionState state) {
                     if (state == ConnectionState.LOST) {
                         CuratorZookeeperClient.this.stateChanged(StateListener.DISCONNECTED);
@@ -69,6 +70,7 @@ public void stateChanged(CuratorFramework client, ConnectionState state) {
         }
     }
 
+    @Override
     public void createPersistent(String path) {
         try {
             client.create().forPath(path);
@@ -78,6 +80,7 @@ public void createPersistent(String path) {
         }
     }
 
+    @Override
     public void createEphemeral(String path) {
         try {
             client.create().withMode(CreateMode.EPHEMERAL).forPath(path);
@@ -87,6 +90,7 @@ public void createEphemeral(String path) {
         }
     }
 
+    @Override
     public void delete(String path) {
         try {
             client.delete().forPath(path);
@@ -96,6 +100,7 @@ public void delete(String path) {
         }
     }
 
+    @Override
     public List<String> getChildren(String path) {
         try {
             return client.getChildren().forPath(path);
@@ -106,6 +111,7 @@ public void delete(String path) {
         }
     }
 
+    @Override
     public boolean checkExists(String path) {
         try {
             if (client.checkExists().forPath(path) != null) {
@@ -115,18 +121,22 @@ public boolean checkExists(String path) {
         }
         return false;
     }
+    @Override
     public boolean isConnected() {
         return client.getZookeeperClient().isConnected();
     }
 
+    @Override
     public void doClose() {
         client.close();
     }
 
+    @Override
     public CuratorWatcher createTargetChildListener(String path, ChildListener listener) {
         return new CuratorWatcherImpl(listener);
     }
 
+    @Override
     public List<String> addTargetChildListener(String path, CuratorWatcher listener) {
         try {
             return client.getChildren().usingWatcher(listener).forPath(path);
@@ -137,6 +147,7 @@ public CuratorWatcher createTargetChildListener(String path, ChildListener liste
         }
     }
 
+    @Override
     public void removeTargetChildListener(String path, CuratorWatcher listener) {
         ((CuratorWatcherImpl) listener).unwatch();
     }
@@ -153,6 +164,7 @@ public void unwatch() {
             this.listener = null;
         }
 
+        @Override
         public void process(WatchedEvent event) throws Exception {
             if (listener != null) {
                 String path = event.getPath() == null ? "" : event.getPath();
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/curator/CuratorZookeeperTransporter.java b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/curator/CuratorZookeeperTransporter.java
index db07ed9192..4d7afef59a 100644
--- a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/curator/CuratorZookeeperTransporter.java
+++ b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/curator/CuratorZookeeperTransporter.java
@@ -22,6 +22,7 @@
 
 public class CuratorZookeeperTransporter implements ZookeeperTransporter {
 
+    @Override
     public ZookeeperClient connect(URL url) {
         return new CuratorZookeeperClient(url);
     }
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/support/AbstractZookeeperClient.java b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/support/AbstractZookeeperClient.java
index 0b4070adca..9efd8b4549 100644
--- a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/support/AbstractZookeeperClient.java
+++ b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/support/AbstractZookeeperClient.java
@@ -45,10 +45,12 @@ public AbstractZookeeperClient(URL url) {
         this.url = url;
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     public void create(String path, boolean ephemeral) {
         int i = path.lastIndexOf('/');
         if (i > 0) {
@@ -64,10 +66,12 @@ public void create(String path, boolean ephemeral) {
         }
     }
 
+    @Override
     public void addStateListener(StateListener listener) {
         stateListeners.add(listener);
     }
 
+    @Override
     public void removeStateListener(StateListener listener) {
         stateListeners.remove(listener);
     }
@@ -76,6 +80,7 @@ public void removeStateListener(StateListener listener) {
         return stateListeners;
     }
 
+    @Override
     public List<String> addChildListener(String path, final ChildListener listener) {
         ConcurrentMap<ChildListener, TargetChildListener> listeners = childListeners.get(path);
         if (listeners == null) {
@@ -90,6 +95,7 @@ public void removeStateListener(StateListener listener) {
         return addTargetChildListener(path, targetListener);
     }
 
+    @Override
     public void removeChildListener(String path, ChildListener listener) {
         ConcurrentMap<ChildListener, TargetChildListener> listeners = childListeners.get(path);
         if (listeners != null) {
@@ -106,6 +112,7 @@ protected void stateChanged(int state) {
         }
     }
 
+    @Override
     public void close() {
         if (closed) {
             return;
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/zkclient/ZkclientZookeeperClient.java b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/zkclient/ZkclientZookeeperClient.java
index a8b4466c1a..a27aab611c 100644
--- a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/zkclient/ZkclientZookeeperClient.java
+++ b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/zkclient/ZkclientZookeeperClient.java
@@ -39,6 +39,7 @@ public ZkclientZookeeperClient(URL url) {
         super(url);
         client = new ZkClientWrapper(url.getBackupAddress(), 30000);
         client.addListener(new IZkStateListener() {
+            @Override
             public void handleStateChanged(KeeperState state) throws Exception {
                 ZkclientZookeeperClient.this.state = state;
                 if (state == KeeperState.Disconnected) {
@@ -48,6 +49,7 @@ public void handleStateChanged(KeeperState state) throws Exception {
                 }
             }
 
+            @Override
             public void handleNewSession() throws Exception {
                 stateChanged(StateListener.RECONNECTED);
             }
@@ -56,6 +58,7 @@ public void handleNewSession() throws Exception {
     }
 
 
+    @Override
     public void createPersistent(String path) {
         try {
             client.createPersistent(path);
@@ -63,6 +66,7 @@ public void createPersistent(String path) {
         }
     }
 
+    @Override
     public void createEphemeral(String path) {
         try {
             client.createEphemeral(path);
@@ -70,6 +74,7 @@ public void createEphemeral(String path) {
         }
     }
 
+    @Override
     public void delete(String path) {
         try {
             client.delete(path);
@@ -77,6 +82,7 @@ public void delete(String path) {
         }
     }
 
+    @Override
     public List<String> getChildren(String path) {
         try {
             return client.getChildren(path);
@@ -85,6 +91,7 @@ public void delete(String path) {
         }
     }
 
+    @Override
     public boolean checkExists(String path) {
         try {
             return client.exists(path);
@@ -93,16 +100,20 @@ public boolean checkExists(String path) {
         return false;
     }
 
+    @Override
     public boolean isConnected() {
         return state == KeeperState.SyncConnected;
     }
 
+    @Override
     public void doClose() {
         client.close();
     }
 
+    @Override
     public IZkChildListener createTargetChildListener(String path, final ChildListener listener) {
         return new IZkChildListener() {
+            @Override
             public void handleChildChange(String parentPath, List<String> currentChilds)
                     throws Exception {
                 listener.childChanged(parentPath, currentChilds);
@@ -110,10 +121,12 @@ public void handleChildChange(String parentPath, List<String> currentChilds)
         };
     }
 
+    @Override
     public List<String> addTargetChildListener(String path, final IZkChildListener listener) {
         return client.subscribeChildChanges(path, listener);
     }
 
+    @Override
     public void removeTargetChildListener(String path, IZkChildListener listener) {
         client.unsubscribeChildChanges(path, listener);
     }
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/zkclient/ZkclientZookeeperTransporter.java b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/zkclient/ZkclientZookeeperTransporter.java
index 82a7f268f1..17be601a07 100644
--- a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/zkclient/ZkclientZookeeperTransporter.java
+++ b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/com/alibaba/dubbo/remoting/zookeeper/zkclient/ZkclientZookeeperTransporter.java
@@ -22,6 +22,7 @@
 
 public class ZkclientZookeeperTransporter implements ZookeeperTransporter {
 
+    @Override
     public ZookeeperClient connect(URL url) {
         return new ZkclientZookeeperClient(url);
     }
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcContext.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcContext.java
index e7ecebb2e7..363b0faf08 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcContext.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcContext.java
@@ -616,6 +616,7 @@ public RpcContext setInvocation(Invocation invocation) {
                 //local invoke will return directly
                 if (o != null) {
                     FutureTask<T> f = new FutureTask<T>(new Callable<T>() {
+                        @Override
                         public T call() throws Exception {
                             return o;
                         }
@@ -632,22 +633,27 @@ public T call() throws Exception {
             }
         } catch (final RpcException e) {
             return new Future<T>() {
+                @Override
                 public boolean cancel(boolean mayInterruptIfRunning) {
                     return false;
                 }
 
+                @Override
                 public boolean isCancelled() {
                     return false;
                 }
 
+                @Override
                 public boolean isDone() {
                     return true;
                 }
 
+                @Override
                 public T get() throws InterruptedException, ExecutionException {
                     throw new ExecutionException(e.getCause());
                 }
 
+                @Override
                 public T get(long timeout, TimeUnit unit)
                         throws InterruptedException, ExecutionException,
                         TimeoutException {
@@ -674,4 +680,4 @@ public void asyncCall(Runnable runnable) {
             removeAttachment(Constants.RETURN_KEY);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcInvocation.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcInvocation.java
index 245644ed56..1458131ba6 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcInvocation.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcInvocation.java
@@ -104,6 +104,7 @@ public RpcInvocation(String methodName, Class<?>[] parameterTypes, Object[] argu
         this.invoker = invoker;
     }
 
+    @Override
     public Invoker<?> getInvoker() {
         return invoker;
     }
@@ -112,6 +113,7 @@ public void setInvoker(Invoker<?> invoker) {
         this.invoker = invoker;
     }
 
+    @Override
     public String getMethodName() {
         return methodName;
     }
@@ -120,6 +122,7 @@ public void setMethodName(String methodName) {
         this.methodName = methodName;
     }
 
+    @Override
     public Class<?>[] getParameterTypes() {
         return parameterTypes;
     }
@@ -128,6 +131,7 @@ public void setParameterTypes(Class<?>[] parameterTypes) {
         this.parameterTypes = parameterTypes == null ? new Class<?>[0] : parameterTypes;
     }
 
+    @Override
     public Object[] getArguments() {
         return arguments;
     }
@@ -136,6 +140,7 @@ public void setArguments(Object[] arguments) {
         this.arguments = arguments == null ? new Object[0] : arguments;
     }
 
+    @Override
     public Map<String, String> getAttachments() {
         return attachments;
     }
@@ -179,6 +184,7 @@ public void addAttachmentsIfAbsent(Map<String, String> attachments) {
         }
     }
 
+    @Override
     public String getAttachment(String key) {
         if (attachments == null) {
             return null;
@@ -186,6 +192,7 @@ public String getAttachment(String key) {
         return attachments.get(key);
     }
 
+    @Override
     public String getAttachment(String key, String defaultValue) {
         if (attachments == null) {
             return defaultValue;
@@ -204,4 +211,4 @@ public String toString() {
                 + ", attachments=" + attachments + "]";
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcResult.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcResult.java
index 9a65d7068a..ac4504a809 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcResult.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcResult.java
@@ -46,6 +46,7 @@ public RpcResult(Throwable exception) {
         this.exception = exception;
     }
 
+    @Override
     public Object recreate() throws Throwable {
         if (exception != null) {
             throw exception;
@@ -57,6 +58,7 @@ public Object recreate() throws Throwable {
      * @see com.alibaba.dubbo.rpc.RpcResult#getValue()
      * @deprecated Replace to getValue()
      */
+    @Override
     @Deprecated
     public Object getResult() {
         return getValue();
@@ -71,6 +73,7 @@ public void setResult(Object result) {
         setValue(result);
     }
 
+    @Override
     public Object getValue() {
         return result;
     }
@@ -79,6 +82,7 @@ public void setValue(Object value) {
         this.result = value;
     }
 
+    @Override
     public Throwable getException() {
         return exception;
     }
@@ -87,10 +91,12 @@ public void setException(Throwable e) {
         this.exception = e;
     }
 
+    @Override
     public boolean hasException() {
         return exception != null;
     }
 
+    @Override
     public Map<String, String> getAttachments() {
         return attachments;
     }
@@ -106,10 +112,12 @@ public void setAttachments(Map<String, String> map) {
         }
     }
 
+    @Override
     public String getAttachment(String key) {
         return attachments.get(key);
     }
 
+    @Override
     public String getAttachment(String key, String defaultValue) {
         String result = attachments.get(key);
         if (result == null || result.length() == 0) {
@@ -126,4 +134,4 @@ public void setAttachment(String key, String value) {
     public String toString() {
         return "RpcResult [result=" + result + ", exception=" + exception + "]";
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/AccessLogFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/AccessLogFilter.java
index 26513a7a11..304a34bb68 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/AccessLogFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/AccessLogFilter.java
@@ -102,6 +102,7 @@ private void log(String accesslog, String logmessage) {
         }
     }
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation inv) throws RpcException {
         try {
             String accesslog = invoker.getUrl().getParameter(Constants.ACCESS_LOG_KEY);
@@ -155,6 +156,7 @@ public Result invoke(Invoker<?> invoker, Invocation inv) throws RpcException {
     }
 
     private class LogTask implements Runnable {
+        @Override
         public void run() {
             try {
                 if (logQueue != null && logQueue.size() > 0) {
@@ -201,4 +203,4 @@ public void run() {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ActiveLimitFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ActiveLimitFilter.java
index 4dfaf8ebd4..773657c2e8 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ActiveLimitFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ActiveLimitFilter.java
@@ -32,6 +32,7 @@
 @Activate(group = Constants.CONSUMER, value = Constants.ACTIVES_KEY)
 public class ActiveLimitFilter implements Filter {
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         URL url = invoker.getUrl();
         String methodName = invocation.getMethodName();
@@ -82,4 +83,4 @@ public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcExcept
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ClassLoaderFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ClassLoaderFilter.java
index 4d6bcc8698..66f11dd379 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ClassLoaderFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ClassLoaderFilter.java
@@ -30,6 +30,7 @@
 @Activate(group = Constants.PROVIDER, order = -30000)
 public class ClassLoaderFilter implements Filter {
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         ClassLoader ocl = Thread.currentThread().getContextClassLoader();
         Thread.currentThread().setContextClassLoader(invoker.getInterface().getClassLoader());
@@ -40,4 +41,4 @@ public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcExcept
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/CompatibleFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/CompatibleFilter.java
index 6ffb4dc3ad..0998fe7979 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/CompatibleFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/CompatibleFilter.java
@@ -38,6 +38,7 @@
 
     private static Logger logger = LoggerFactory.getLogger(CompatibleFilter.class);
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         Result result = invoker.invoke(invocation);
         if (!invocation.getMethodName().startsWith("$") && !result.hasException()) {
@@ -71,4 +72,4 @@ public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcExcept
         return result;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ConsumerContextFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ConsumerContextFilter.java
index 1c86a9b1f7..ba2cd75898 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ConsumerContextFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ConsumerContextFilter.java
@@ -33,6 +33,7 @@
 @Activate(group = Constants.CONSUMER, order = -10000)
 public class ConsumerContextFilter implements Filter {
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         RpcContext.getContext()
                 .setInvoker(invoker)
@@ -50,4 +51,4 @@ public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcExcept
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ContextFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ContextFilter.java
index ad53baf287..d0b7da145e 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ContextFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ContextFilter.java
@@ -35,6 +35,7 @@
 @Activate(group = Constants.PROVIDER, order = -10000)
 public class ContextFilter implements Filter {
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         Map<String, String> attachments = invocation.getAttachments();
         if (attachments != null) {
@@ -73,4 +74,4 @@ public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcExcept
             RpcContext.removeContext();
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/DeprecatedFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/DeprecatedFilter.java
index e42fec299e..3416bcfcc0 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/DeprecatedFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/DeprecatedFilter.java
@@ -39,6 +39,7 @@
 
     private static final Set<String> logged = new ConcurrentHashSet<String>();
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         String key = invoker.getInterface().getName() + "." + invocation.getMethodName();
         if (!logged.contains(key)) {
@@ -69,4 +70,4 @@ private String getMethodSignature(Invocation invocation) {
         return buf.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/EchoFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/EchoFilter.java
index 4ecec7fb2b..134c496c84 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/EchoFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/EchoFilter.java
@@ -31,10 +31,11 @@
 @Activate(group = Constants.PROVIDER, order = -110000)
 public class EchoFilter implements Filter {
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation inv) throws RpcException {
         if (inv.getMethodName().equals(Constants.$ECHO) && inv.getArguments() != null && inv.getArguments().length == 1)
             return new RpcResult(inv.getArguments()[0]);
         return invoker.invoke(inv);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ExceptionFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ExceptionFilter.java
index b84fb64648..40b8046466 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ExceptionFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ExceptionFilter.java
@@ -56,6 +56,7 @@ public ExceptionFilter(Logger logger) {
         this.logger = logger;
     }
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         try {
             Result result = invoker.invoke(invocation);
@@ -119,4 +120,4 @@ public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcExcept
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ExecuteLimitFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ExecuteLimitFilter.java
index 59e6ae51d1..b025f68629 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ExecuteLimitFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/ExecuteLimitFilter.java
@@ -34,6 +34,7 @@
 @Activate(group = Constants.PROVIDER, value = Constants.EXECUTES_KEY)
 public class ExecuteLimitFilter implements Filter {
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         URL url = invoker.getUrl();
         String methodName = invocation.getMethodName();
@@ -73,4 +74,4 @@ public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcExcept
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/GenericFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/GenericFilter.java
index 231d74dfe5..dbf36b9e03 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/GenericFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/GenericFilter.java
@@ -47,6 +47,7 @@
 @Activate(group = Constants.PROVIDER, order = -20000)
 public class GenericFilter implements Filter {
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation inv) throws RpcException {
         if (inv.getMethodName().equals(Constants.$INVOKE)
                 && inv.getArguments() != null
@@ -131,4 +132,4 @@ public Result invoke(Invoker<?> invoker, Invocation inv) throws RpcException {
         return invoker.invoke(inv);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/GenericImplFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/GenericImplFilter.java
index f79baa1071..4e61de9f24 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/GenericImplFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/GenericImplFilter.java
@@ -49,6 +49,7 @@
 
     private static final Class<?>[] GENERIC_PARAMETER_TYPES = new Class<?>[]{String.class, String[].class, Object[].class};
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         String generic = invoker.getUrl().getParameter(Constants.GENERIC_KEY);
         if (ProtocolUtils.isGeneric(generic)
@@ -183,4 +184,4 @@ private void error(String expected, String actual) throws RpcException {
                         .append(actual).toString());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TimeoutFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TimeoutFilter.java
index 06ff3b9cb5..3800fe9997 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TimeoutFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TimeoutFilter.java
@@ -36,6 +36,7 @@
 
     private static final Logger logger = LoggerFactory.getLogger(TimeoutFilter.class);
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         long start = System.currentTimeMillis();
         Result result = invoker.invoke(invocation);
@@ -52,4 +53,4 @@ public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcExcept
         return result;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TokenFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TokenFilter.java
index 551a48e6b8..c5df12104b 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TokenFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TokenFilter.java
@@ -34,6 +34,7 @@
 @Activate(group = Constants.PROVIDER, value = Constants.TOKEN_KEY)
 public class TokenFilter implements Filter {
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation inv)
             throws RpcException {
         String token = invoker.getUrl().getParameter(Constants.TOKEN_KEY);
@@ -48,4 +49,4 @@ public Result invoke(Invoker<?> invoker, Invocation inv)
         return invoker.invoke(inv);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TpsLimitFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TpsLimitFilter.java
index 0b5eafccee..01e49a68d0 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TpsLimitFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/TpsLimitFilter.java
@@ -35,6 +35,7 @@
 
     private final TPSLimiter tpsLimiter = new DefaultTPSLimiter();
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
 
         if (!tpsLimiter.isAllowable(invoker.getUrl(), invocation)) {
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/DefaultTPSLimiter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/DefaultTPSLimiter.java
index ffec670603..03890cb63c 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/DefaultTPSLimiter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/DefaultTPSLimiter.java
@@ -28,6 +28,7 @@
     private final ConcurrentMap<String, StatItem> stats
             = new ConcurrentHashMap<String, StatItem>();
 
+    @Override
     public boolean isAllowable(URL url, Invocation invocation) {
         int rate = url.getParameter(Constants.TPS_LIMIT_RATE_KEY, -1);
         long interval = url.getParameter(Constants.TPS_LIMIT_INTERVAL_KEY,
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/StatItem.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/StatItem.java
index f1cc91acab..d3b768f453 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/StatItem.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/filter/tps/StatItem.java
@@ -63,6 +63,7 @@ int getToken() {
         return token.get();
     }
 
+    @Override
     public String toString() {
         return new StringBuilder(32).append("StatItem ")
                 .append("[name=").append(name).append(", ")
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/DeprecatedInvokerListener.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/DeprecatedInvokerListener.java
index c5af95de94..f53c2d1aab 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/DeprecatedInvokerListener.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/DeprecatedInvokerListener.java
@@ -31,10 +31,11 @@
 
     private static final Logger LOGGER = LoggerFactory.getLogger(DeprecatedInvokerListener.class);
 
+    @Override
     public void referred(Invoker<?> invoker) throws RpcException {
         if (invoker.getUrl().getParameter(Constants.DEPRECATED_KEY, false)) {
             LOGGER.error("The service " + invoker.getInterface().getName() + " is DEPRECATED! Declare from " + invoker.getUrl());
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ExporterListenerAdapter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ExporterListenerAdapter.java
index b411a531ae..cd2ebbe403 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ExporterListenerAdapter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ExporterListenerAdapter.java
@@ -25,10 +25,12 @@
  */
 public abstract class ExporterListenerAdapter implements ExporterListener {
 
+    @Override
     public void exported(Exporter<?> exporter) throws RpcException {
     }
 
+    @Override
     public void unexported(Exporter<?> exporter) throws RpcException {
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/InvokerListenerAdapter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/InvokerListenerAdapter.java
index 64c42565e0..fd482fe62a 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/InvokerListenerAdapter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/InvokerListenerAdapter.java
@@ -25,10 +25,12 @@
  */
 public abstract class InvokerListenerAdapter implements InvokerListener {
 
+    @Override
     public void referred(Invoker<?> invoker) throws RpcException {
     }
 
+    @Override
     public void destroyed(Invoker<?> invoker) {
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ListenerExporterWrapper.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ListenerExporterWrapper.java
index bd8f1e56c3..84ad7ff36a 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ListenerExporterWrapper.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ListenerExporterWrapper.java
@@ -59,10 +59,12 @@ public ListenerExporterWrapper(Exporter<T> exporter, List<ExporterListener> list
         }
     }
 
+    @Override
     public Invoker<T> getInvoker() {
         return exporter.getInvoker();
     }
 
+    @Override
     public void unexport() {
         try {
             exporter.unexport();
@@ -86,4 +88,4 @@ public void unexport() {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ListenerInvokerWrapper.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ListenerInvokerWrapper.java
index 6c7785ce0c..f585b2aed5 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ListenerInvokerWrapper.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/listener/ListenerInvokerWrapper.java
@@ -57,18 +57,22 @@ public ListenerInvokerWrapper(Invoker<T> invoker, List<InvokerListener> listener
         }
     }
 
+    @Override
     public Class<T> getInterface() {
         return invoker.getInterface();
     }
 
+    @Override
     public URL getUrl() {
         return invoker.getUrl();
     }
 
+    @Override
     public boolean isAvailable() {
         return invoker.isAvailable();
     }
 
+    @Override
     public Result invoke(Invocation invocation) throws RpcException {
         return invoker.invoke(invocation);
     }
@@ -78,6 +82,7 @@ public String toString() {
         return getInterface() + " -> " + (getUrl() == null ? " " : getUrl().toString());
     }
 
+    @Override
     public void destroy() {
         try {
             invoker.destroy();
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractExporter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractExporter.java
index 668de9195c..f749af8f43 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractExporter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractExporter.java
@@ -42,10 +42,12 @@ public AbstractExporter(Invoker<T> invoker) {
         this.invoker = invoker;
     }
 
+    @Override
     public Invoker<T> getInvoker() {
         return invoker;
     }
 
+    @Override
     public void unexport() {
         if (unexported) {
             return;
@@ -54,8 +56,9 @@ public void unexport() {
         getInvoker().destroy();
     }
 
+    @Override
     public String toString() {
         return getInvoker().toString();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractInvoker.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractInvoker.java
index 533b5c8ee5..eee7db4a85 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractInvoker.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractInvoker.java
@@ -86,14 +86,17 @@ public AbstractInvoker(Class<T> type, URL url, Map<String, String> attachment) {
         return attachment;
     }
 
+    @Override
     public Class<T> getInterface() {
         return type;
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     public boolean isAvailable() {
         return available;
     }
@@ -102,6 +105,7 @@ protected void setAvailable(boolean available) {
         this.available = available;
     }
 
+    @Override
     public void destroy() {
         if (!destroyed.compareAndSet(false, true)) {
             return;
@@ -113,10 +117,12 @@ public boolean isDestroyed() {
         return destroyed.get();
     }
 
+    @Override
     public String toString() {
         return getInterface() + " -> " + (getUrl() == null ? "" : getUrl().toString());
     }
 
+    @Override
     public Result invoke(Invocation inv) throws RpcException {
         if (destroyed.get()) {
             throw new RpcException("Rpc invoker for service " + this + " on consumer " + NetUtils.getLocalHost()
@@ -163,4 +169,4 @@ public Result invoke(Invocation inv) throws RpcException {
 
     protected abstract Result doInvoke(Invocation invocation) throws Throwable;
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractProtocol.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractProtocol.java
index 1dc01faa13..8ae4680382 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractProtocol.java
@@ -53,6 +53,7 @@ protected static String serviceKey(int port, String serviceName, String serviceV
         return ProtocolUtils.serviceKey(port, serviceName, serviceVersion, serviceGroup);
     }
 
+    @Override
     public void destroy() {
         for (Invoker<?> invoker : invokers) {
             if (invoker != null) {
@@ -81,4 +82,4 @@ public void destroy() {
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractProxyProtocol.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractProxyProtocol.java
index 9eb3d8f0de..8136cc0216 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractProxyProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/AbstractProxyProtocol.java
@@ -60,6 +60,7 @@ public void setProxyFactory(ProxyFactory proxyFactory) {
         this.proxyFactory = proxyFactory;
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> Exporter<T> export(final Invoker<T> invoker) throws RpcException {
         final String uri = serviceKey(invoker.getUrl());
@@ -69,6 +70,7 @@ public void setProxyFactory(ProxyFactory proxyFactory) {
         }
         final Runnable runnable = doExport(proxyFactory.getProxy(invoker), invoker.getInterface(), invoker.getUrl());
         exporter = new AbstractExporter<T>(invoker) {
+            @Override
             public void unexport() {
                 super.unexport();
                 exporterMap.remove(uri);
@@ -85,6 +87,7 @@ public void unexport() {
         return exporter;
     }
 
+    @Override
     public <T> Invoker<T> refer(final Class<T> type, final URL url) throws RpcException {
         final Invoker<T> tagert = proxyFactory.getInvoker(doRefer(type, url), type, url);
         Invoker<T> invoker = new AbstractInvoker<T>(type, url) {
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/InvokerWrapper.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/InvokerWrapper.java
index 593d6f215d..4dfdc9dc06 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/InvokerWrapper.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/InvokerWrapper.java
@@ -36,24 +36,29 @@ public InvokerWrapper(Invoker<T> invoker, URL url) {
         this.url = url;
     }
 
+    @Override
     public Class<T> getInterface() {
         return invoker.getInterface();
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     public boolean isAvailable() {
         return invoker.isAvailable();
     }
 
+    @Override
     public Result invoke(Invocation invocation) throws RpcException {
         return invoker.invoke(invocation);
     }
 
+    @Override
     public void destroy() {
         invoker.destroy();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/ProtocolFilterWrapper.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/ProtocolFilterWrapper.java
index 77653eef2e..b2baf5c3e8 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/ProtocolFilterWrapper.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/ProtocolFilterWrapper.java
@@ -52,22 +52,27 @@ public ProtocolFilterWrapper(Protocol protocol) {
                 final Invoker<T> next = last;
                 last = new Invoker<T>() {
 
+                    @Override
                     public Class<T> getInterface() {
                         return invoker.getInterface();
                     }
 
+                    @Override
                     public URL getUrl() {
                         return invoker.getUrl();
                     }
 
+                    @Override
                     public boolean isAvailable() {
                         return invoker.isAvailable();
                     }
 
+                    @Override
                     public Result invoke(Invocation invocation) throws RpcException {
                         return filter.invoke(next, invocation);
                     }
 
+                    @Override
                     public void destroy() {
                         invoker.destroy();
                     }
@@ -82,10 +87,12 @@ public String toString() {
         return last;
     }
 
+    @Override
     public int getDefaultPort() {
         return protocol.getDefaultPort();
     }
 
+    @Override
     public <T> Exporter<T> export(Invoker<T> invoker) throws RpcException {
         if (Constants.REGISTRY_PROTOCOL.equals(invoker.getUrl().getProtocol())) {
             return protocol.export(invoker);
@@ -93,6 +100,7 @@ public int getDefaultPort() {
         return protocol.export(buildInvokerChain(invoker, Constants.SERVICE_FILTER_KEY, Constants.PROVIDER));
     }
 
+    @Override
     public <T> Invoker<T> refer(Class<T> type, URL url) throws RpcException {
         if (Constants.REGISTRY_PROTOCOL.equals(url.getProtocol())) {
             return protocol.refer(type, url);
@@ -100,8 +108,9 @@ public int getDefaultPort() {
         return buildInvokerChain(protocol.refer(type, url), Constants.REFERENCE_FILTER_KEY, Constants.CONSUMER);
     }
 
+    @Override
     public void destroy() {
         protocol.destroy();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/ProtocolListenerWrapper.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/ProtocolListenerWrapper.java
index 473ae871b1..ee7c752049 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/ProtocolListenerWrapper.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/protocol/ProtocolListenerWrapper.java
@@ -45,10 +45,12 @@ public ProtocolListenerWrapper(Protocol protocol) {
         this.protocol = protocol;
     }
 
+    @Override
     public int getDefaultPort() {
         return protocol.getDefaultPort();
     }
 
+    @Override
     public <T> Exporter<T> export(Invoker<T> invoker) throws RpcException {
         if (Constants.REGISTRY_PROTOCOL.equals(invoker.getUrl().getProtocol())) {
             return protocol.export(invoker);
@@ -58,6 +60,7 @@ public int getDefaultPort() {
                         .getActivateExtension(invoker.getUrl(), Constants.EXPORTER_LISTENER_KEY)));
     }
 
+    @Override
     public <T> Invoker<T> refer(Class<T> type, URL url) throws RpcException {
         if (Constants.REGISTRY_PROTOCOL.equals(url.getProtocol())) {
             return protocol.refer(type, url);
@@ -68,8 +71,9 @@ public int getDefaultPort() {
                                 .getActivateExtension(url, Constants.INVOKER_LISTENER_KEY)));
     }
 
+    @Override
     public void destroy() {
         protocol.destroy();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/AbstractProxyFactory.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/AbstractProxyFactory.java
index 6540fe079a..21c350da9c 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/AbstractProxyFactory.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/AbstractProxyFactory.java
@@ -28,6 +28,7 @@
  */
 public abstract class AbstractProxyFactory implements ProxyFactory {
 
+    @Override
     public <T> T getProxy(Invoker<T> invoker) throws RpcException {
         Class<?>[] interfaces = null;
         String config = invoker.getUrl().getParameter("interfaces");
@@ -50,4 +51,4 @@
 
     public abstract <T> T getProxy(Invoker<T> invoker, Class<?>[] types);
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/AbstractProxyInvoker.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/AbstractProxyInvoker.java
index 966f739b5b..26dfdafb01 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/AbstractProxyInvoker.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/AbstractProxyInvoker.java
@@ -51,21 +51,26 @@ public AbstractProxyInvoker(T proxy, Class<T> type, URL url) {
         this.url = url;
     }
 
+    @Override
     public Class<T> getInterface() {
         return type;
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     public boolean isAvailable() {
         return true;
     }
 
+    @Override
     public void destroy() {
     }
 
+    @Override
     public Result invoke(Invocation invocation) throws RpcException {
         try {
             return new RpcResult(doInvoke(proxy, invocation.getMethodName(), invocation.getParameterTypes(), invocation.getArguments()));
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/InvokerInvocationHandler.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/InvokerInvocationHandler.java
index 75b5603ba0..d9d18cf800 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/InvokerInvocationHandler.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/InvokerInvocationHandler.java
@@ -33,6 +33,7 @@ public InvokerInvocationHandler(Invoker<?> handler) {
         this.invoker = handler;
     }
 
+    @Override
     public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
         String methodName = method.getName();
         Class<?>[] parameterTypes = method.getParameterTypes();
@@ -51,4 +52,4 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl
         return invoker.invoke(new RpcInvocation(method, args)).recreate();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/javassist/JavassistProxyFactory.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/javassist/JavassistProxyFactory.java
index da7df0e7ad..6ac30374d7 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/javassist/JavassistProxyFactory.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/javassist/JavassistProxyFactory.java
@@ -29,11 +29,13 @@
  */
 public class JavassistProxyFactory extends AbstractProxyFactory {
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T getProxy(Invoker<T> invoker, Class<?>[] interfaces) {
         return (T) Proxy.getProxy(interfaces).newInstance(new InvokerInvocationHandler(invoker));
     }
 
+    @Override
     public <T> Invoker<T> getInvoker(T proxy, Class<T> type, URL url) {
         // TODO Wrapper cannot handle this scenario correctly: the classname contains '$'
         final Wrapper wrapper = Wrapper.getWrapper(proxy.getClass().getName().indexOf('$') < 0 ? proxy.getClass() : type);
@@ -47,4 +49,4 @@ protected Object doInvoke(T proxy, String methodName,
         };
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/jdk/JdkProxyFactory.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/jdk/JdkProxyFactory.java
index 0608979d61..6173d961a7 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/jdk/JdkProxyFactory.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/jdk/JdkProxyFactory.java
@@ -30,11 +30,13 @@
  */
 public class JdkProxyFactory extends AbstractProxyFactory {
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T getProxy(Invoker<T> invoker, Class<?>[] interfaces) {
         return (T) Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), interfaces, new InvokerInvocationHandler(invoker));
     }
 
+    @Override
     public <T> Invoker<T> getInvoker(T proxy, Class<T> type, URL url) {
         return new AbstractProxyInvoker<T>(proxy, type, url) {
             @Override
@@ -47,4 +49,4 @@ protected Object doInvoke(T proxy, String methodName,
         };
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/wrapper/StubProxyFactoryWrapper.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/wrapper/StubProxyFactoryWrapper.java
index 68128edb39..ec3db16ceb 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/wrapper/StubProxyFactoryWrapper.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/proxy/wrapper/StubProxyFactoryWrapper.java
@@ -54,6 +54,7 @@ public void setProtocol(Protocol protocol) {
         this.protocol = protocol;
     }
 
+    @Override
     @SuppressWarnings({"unchecked", "rawtypes"})
     public <T> T getProxy(Invoker<T> invoker) throws RpcException {
         T proxy = proxyFactory.getProxy(invoker);
@@ -99,6 +100,7 @@ public void setProtocol(Protocol protocol) {
         return proxy;
     }
 
+    @Override
     public <T> Invoker<T> getInvoker(T proxy, Class<T> type, URL url) throws RpcException {
         return proxyFactory.getInvoker(proxy, type, url);
     }
@@ -107,4 +109,4 @@ public void setProtocol(Protocol protocol) {
         return protocol.export(proxyFactory.getInvoker(instance, type, url));
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/DelegateExporter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/DelegateExporter.java
index fd9b2fdb9a..14be9ea958 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/DelegateExporter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/DelegateExporter.java
@@ -35,10 +35,12 @@ public DelegateExporter(Exporter<T> exporter) {
 
     }
 
+    @Override
     public Invoker<T> getInvoker() {
         return exporter.getInvoker();
     }
 
+    @Override
     public void unexport() {
         exporter.unexport();
     }
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/DelegateInvoker.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/DelegateInvoker.java
index ffd16f4b8a..97060a8f38 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/DelegateInvoker.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/DelegateInvoker.java
@@ -33,22 +33,27 @@ public DelegateInvoker(Invoker<T> invoker) {
         this.invoker = invoker;
     }
 
+    @Override
     public Class<T> getInterface() {
         return invoker.getInterface();
     }
 
+    @Override
     public URL getUrl() {
         return invoker.getUrl();
     }
 
+    @Override
     public boolean isAvailable() {
         return invoker.isAvailable();
     }
 
+    @Override
     public Result invoke(Invocation invocation) throws RpcException {
         return invoker.invoke(invocation);
     }
 
+    @Override
     public void destroy() {
         invoker.destroy();
     }
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/MockInvoker.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/MockInvoker.java
index f572ad0f16..7ee2b20016 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/MockInvoker.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/MockInvoker.java
@@ -83,6 +83,7 @@ public static Object parseMockValue(String mock, Type[] returnTypes) throws Exce
         return value;
     }
 
+    @Override
     public Result invoke(Invocation invocation) throws RpcException {
         String mock = getUrl().getParameter(invocation.getMethodName() + "." + Constants.MOCK_KEY);
         if (invocation instanceof RpcInvocation) {
@@ -201,20 +202,24 @@ private String normallizeMock(String mock) {
         return mock;
     }
 
+    @Override
     public URL getUrl() {
         return this.url;
     }
 
+    @Override
     public boolean isAvailable() {
         return true;
     }
 
+    @Override
     public void destroy() {
         //do nothing
     }
 
+    @Override
     public Class<T> getInterface() {
         //FIXME
         return null;
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/MockProtocol.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/MockProtocol.java
index 7a884e71f7..aec5586bfb 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/MockProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/support/MockProtocol.java
@@ -27,14 +27,17 @@
  */
 final public class MockProtocol extends AbstractProtocol {
 
+    @Override
     public int getDefaultPort() {
         return 0;
     }
 
+    @Override
     public <T> Exporter<T> export(Invoker<T> invoker) throws RpcException {
         throw new UnsupportedOperationException();
     }
 
+    @Override
     public <T> Invoker<T> refer(Class<T> type, URL url) throws RpcException {
         return new MockInvoker<T>(url);
     }
diff --git a/dubbo-rpc/dubbo-rpc-api/src/test/java/com/alibaba/dubbo/rpc/support/MyInvoker.java b/dubbo-rpc/dubbo-rpc-api/src/test/java/com/alibaba/dubbo/rpc/support/MyInvoker.java
index 2a86860225..19b4a648e7 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/test/java/com/alibaba/dubbo/rpc/support/MyInvoker.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/test/java/com/alibaba/dubbo/rpc/support/MyInvoker.java
@@ -43,6 +43,7 @@ public MyInvoker(URL url, boolean hasException) {
         this.hasException = hasException;
     }
 
+    @Override
     public Class<T> getInterface() {
         return type;
     }
@@ -51,6 +52,7 @@ public URL getUrl() {
         return url;
     }
 
+    @Override
     public boolean isAvailable() {
         return false;
     }
@@ -67,7 +69,8 @@ public Result invoke(Invocation invocation) throws RpcException {
 
     }
 
+    @Override
     public void destroy() {
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java
index bd60b3ec6d..b564c85bbe 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java
@@ -79,6 +79,7 @@ protected Result doInvoke(Invocation invocation) throws Throwable {
         }
     }
 
+    @Override
     public void destroy() {
 //        super.destroy();
 //        try {
@@ -98,64 +99,79 @@ public void destroy() {
             this.url = channel.getUrl().addParameter("codec", DubboCodec.NAME);
         }
 
+        @Override
         public URL getUrl() {
             return url;
         }
 
+        @Override
         public ChannelHandler getChannelHandler() {
             return channel.getChannelHandler();
         }
 
+        @Override
         public InetSocketAddress getLocalAddress() {
             return channel.getLocalAddress();
         }
 
+        @Override
         public void close() {
             channel.close();
         }
 
+        @Override
         public boolean isClosed() {
             return channel == null || channel.isClosed();
         }
 
+        @Override
         public void reset(URL url) {
             throw new RpcException("ChannelInvoker can not reset.");
         }
 
+        @Override
         public InetSocketAddress getRemoteAddress() {
             return channel.getLocalAddress();
         }
 
+        @Override
         public boolean isConnected() {
             return channel != null && channel.isConnected();
         }
 
+        @Override
         public boolean hasAttribute(String key) {
             return channel.hasAttribute(key);
         }
 
+        @Override
         public Object getAttribute(String key) {
             return channel.getAttribute(key);
         }
 
+        @Override
         public void setAttribute(String key, Object value) {
             channel.setAttribute(key, value);
         }
 
+        @Override
         public void removeAttribute(String key) {
             channel.removeAttribute(key);
         }
 
+        @Override
         public void reconnect() throws RemotingException {
 
         }
 
+        @Override
         public void send(Object message) throws RemotingException {
             channel.send(message);
         }
 
+        @Override
         public void send(Object message, boolean sent) throws RemotingException {
             channel.send(message, sent);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DecodeableRpcInvocation.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DecodeableRpcInvocation.java
index 23e3d79682..7fdaf83fd3 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DecodeableRpcInvocation.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DecodeableRpcInvocation.java
@@ -63,6 +63,7 @@ public DecodeableRpcInvocation(Channel channel, Request request, InputStream is,
         this.serializationType = id;
     }
 
+    @Override
     public void decode() throws Exception {
         if (!hasDecoded && channel != null && inputStream != null) {
             try {
@@ -79,10 +80,12 @@ public void decode() throws Exception {
         }
     }
 
+    @Override
     public void encode(Channel channel, OutputStream output, Object message) throws IOException {
         throw new UnsupportedOperationException();
     }
 
+    @Override
     public Object decode(Channel channel, InputStream input) throws IOException {
         ObjectInput in = CodecSupport.getSerialization(channel.getUrl(), serializationType)
                 .deserialize(channel.getUrl(), input);
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java
index 75ef0ac55f..9e84e88e70 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java
@@ -63,10 +63,12 @@ public DecodeableRpcResult(Channel channel, Response response, InputStream is, I
         this.serializationType = id;
     }
 
+    @Override
     public void encode(Channel channel, OutputStream output, Object message) throws IOException {
         throw new UnsupportedOperationException();
     }
 
+    @Override
     public Object decode(Channel channel, InputStream input) throws IOException {
         ObjectInput in = CodecSupport.getSerialization(channel.getUrl(), serializationType)
                 .deserialize(channel.getUrl(), input);
@@ -104,6 +106,7 @@ public Object decode(Channel channel, InputStream input) throws IOException {
         return this;
     }
 
+    @Override
     public void decode() throws Exception {
         if (!hasDecoded && channel != null && inputStream != null) {
             try {
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCodec.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCodec.java
index 012051cbc4..8c633f7916 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCodec.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCodec.java
@@ -57,6 +57,7 @@
     public static final Class<?>[] EMPTY_CLASS_ARRAY = new Class<?>[0];
     private static final Logger log = LoggerFactory.getLogger(DubboCodec.class);
 
+    @Override
     protected Object decodeBody(Channel channel, InputStream is, byte[] header) throws IOException {
         byte flag = header[2], proto = (byte) (flag & SERIALIZATION_MASK);
         Serialization s = CodecSupport.getSerialization(channel.getUrl(), proto);
@@ -195,4 +196,4 @@ protected void encodeResponseData(Channel channel, ObjectOutput out, Object data
             out.writeObject(th);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCountCodec.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCountCodec.java
index 159dbfda54..6305f97619 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCountCodec.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboCountCodec.java
@@ -33,10 +33,12 @@
 
     private DubboCodec codec = new DubboCodec();
 
+    @Override
     public void encode(Channel channel, ChannelBuffer buffer, Object msg) throws IOException {
         codec.encode(channel, buffer, msg);
     }
 
+    @Override
     public Object decode(Channel channel, ChannelBuffer buffer) throws IOException {
         int save = buffer.readerIndex();
         MultiMessage result = MultiMessage.create();
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvoker.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvoker.java
index 3d4c8d5286..0c6ea37c00 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvoker.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvoker.java
@@ -114,6 +114,7 @@ public boolean isAvailable() {
         return false;
     }
 
+    @Override
     public void destroy() {
         // in order to avoid closing a client multiple times, a counter is used in case of connection per jvm, every
         // time when client.close() is called, counter counts down once, and when counter reaches zero, client will be
@@ -144,4 +145,4 @@ public void destroy() {
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocol.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocol.java
index e30a50f9cd..4e8b971328 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocol.java
@@ -71,6 +71,7 @@
     private final ConcurrentMap<String, String> stubServiceMethodsMap = new ConcurrentHashMap<String, String>();
     private ExchangeHandler requestHandler = new ExchangeHandlerAdapter() {
 
+        @Override
         public Object reply(ExchangeChannel channel, Object message) throws RemotingException {
             if (message instanceof Invocation) {
                 Invocation inv = (Invocation) message;
@@ -217,10 +218,12 @@ private boolean isClientSide(Channel channel) {
         return Collections.unmodifiableCollection(invokers);
     }
 
+    @Override
     public int getDefaultPort() {
         return DEFAULT_PORT;
     }
 
+    @Override
     public <T> Exporter<T> export(Invoker<T> invoker) throws RpcException {
         URL url = invoker.getUrl();
 
@@ -326,6 +329,7 @@ private void optimizeSerialization(URL url) throws RpcException {
         }
     }
 
+    @Override
     public <T> Invoker<T> refer(Class<T> serviceType, URL url) throws RpcException {
         optimizeSerialization(url);
         // create rpc invoker.
@@ -410,6 +414,7 @@ private ExchangeClient initClient(URL url) {
         return client;
     }
 
+    @Override
     public void destroy() {
         for (String key : new ArrayList<String>(serverMap.keySet())) {
             ExchangeServer server = serverMap.remove(key);
@@ -455,4 +460,4 @@ public void destroy() {
         stubServiceMethodsMap.clear();
         super.destroy();
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/FutureAdapter.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/FutureAdapter.java
index 1fe553a9bc..4a534f0957 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/FutureAdapter.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/FutureAdapter.java
@@ -42,18 +42,22 @@ public ResponseFuture getFuture() {
         return future;
     }
 
+    @Override
     public boolean cancel(boolean mayInterruptIfRunning) {
         return false;
     }
 
+    @Override
     public boolean isCancelled() {
         return false;
     }
 
+    @Override
     public boolean isDone() {
         return future.isDone();
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public V get() throws InterruptedException, ExecutionException {
         try {
@@ -65,6 +69,7 @@ public V get() throws InterruptedException, ExecutionException {
         }
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException {
         int timeoutInMillis = (int) TimeUnit.MILLISECONDS.convert(timeout, unit);
@@ -79,4 +84,4 @@ public V get(long timeout, TimeUnit unit) throws InterruptedException, Execution
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/LazyConnectExchangeClient.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/LazyConnectExchangeClient.java
index 9a79207c36..bc14ebaae2 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/LazyConnectExchangeClient.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/LazyConnectExchangeClient.java
@@ -77,16 +77,19 @@ private void initClient() throws RemotingException {
         }
     }
 
+    @Override
     public ResponseFuture request(Object request) throws RemotingException {
         warning(request);
         initClient();
         return client.request(request);
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         if (client == null) {
             return InetSocketAddress.createUnresolved(url.getHost(), url.getPort());
@@ -95,6 +98,7 @@ public InetSocketAddress getRemoteAddress() {
         }
     }
 
+    @Override
     public ResponseFuture request(Object request, int timeout) throws RemotingException {
         warning(request);
         initClient();
@@ -115,11 +119,13 @@ private void warning(Object request) {
         }
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         checkClient();
         return client.getChannelHandler();
     }
 
+    @Override
     public boolean isConnected() {
         if (client == null) {
             return initialState;
@@ -128,6 +134,7 @@ public boolean isConnected() {
         }
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         if (client == null) {
             return InetSocketAddress.createUnresolved(NetUtils.getLocalHost(), 0);
@@ -136,20 +143,24 @@ public InetSocketAddress getLocalAddress() {
         }
     }
 
+    @Override
     public ExchangeHandler getExchangeHandler() {
         return requestHandler;
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         initClient();
         client.send(message);
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         initClient();
         client.send(message, sent);
     }
 
+    @Override
     public boolean isClosed() {
         if (client != null)
             return client.isClosed();
@@ -157,11 +168,13 @@ public boolean isClosed() {
             return true;
     }
 
+    @Override
     public void close() {
         if (client != null)
             client.close();
     }
 
+    @Override
     public void close(int timeout) {
         if (client != null)
             client.close(timeout);
@@ -174,21 +187,25 @@ public void startClose() {
         }
     }
 
+    @Override
     public void reset(URL url) {
         checkClient();
         client.reset(url);
     }
 
+    @Override
     @Deprecated
     public void reset(Parameters parameters) {
         reset(getUrl().addParameters(parameters.getParameters()));
     }
 
+    @Override
     public void reconnect() throws RemotingException {
         checkClient();
         client.reconnect();
     }
 
+    @Override
     public Object getAttribute(String key) {
         if (client == null) {
             return null;
@@ -197,16 +214,19 @@ public Object getAttribute(String key) {
         }
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         checkClient();
         client.setAttribute(key, value);
     }
 
+    @Override
     public void removeAttribute(String key) {
         checkClient();
         client.removeAttribute(key);
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         if (client == null) {
             return false;
@@ -221,4 +241,4 @@ private void checkClient() {
                     "LazyConnectExchangeClient state error. the client has not be init .url:" + url);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/ReferenceCountExchangeClient.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/ReferenceCountExchangeClient.java
index 7be36b95db..e60ce515e2 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/ReferenceCountExchangeClient.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/ReferenceCountExchangeClient.java
@@ -53,70 +53,87 @@ public ReferenceCountExchangeClient(ExchangeClient client, ConcurrentMap<String,
         this.ghostClientMap = ghostClientMap;
     }
 
+    @Override
     public void reset(URL url) {
         client.reset(url);
     }
 
+    @Override
     public ResponseFuture request(Object request) throws RemotingException {
         return client.request(request);
     }
 
+    @Override
     public URL getUrl() {
         return client.getUrl();
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
         return client.getRemoteAddress();
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
         return client.getChannelHandler();
     }
 
+    @Override
     public ResponseFuture request(Object request, int timeout) throws RemotingException {
         return client.request(request, timeout);
     }
 
+    @Override
     public boolean isConnected() {
         return client.isConnected();
     }
 
+    @Override
     public void reconnect() throws RemotingException {
         client.reconnect();
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
         return client.getLocalAddress();
     }
 
+    @Override
     public boolean hasAttribute(String key) {
         return client.hasAttribute(key);
     }
 
+    @Override
     public void reset(Parameters parameters) {
         client.reset(parameters);
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
         client.send(message);
     }
 
+    @Override
     public ExchangeHandler getExchangeHandler() {
         return client.getExchangeHandler();
     }
 
+    @Override
     public Object getAttribute(String key) {
         return client.getAttribute(key);
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
         client.send(message, sent);
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
         client.setAttribute(key, value);
     }
 
+    @Override
     public void removeAttribute(String key) {
         client.removeAttribute(key);
     }
@@ -124,10 +141,12 @@ public void removeAttribute(String key) {
     /**
      * close() is not idempotent any longer
      */
+    @Override
     public void close() {
         close(0);
     }
 
+    @Override
     public void close(int timeout) {
         if (refenceCount.decrementAndGet() <= 0) {
             if (timeout == 0) {
@@ -139,6 +158,7 @@ public void close(int timeout) {
         }
     }
 
+    @Override
     public void startClose() {
         client.startClose();
     }
@@ -163,6 +183,7 @@ private LazyConnectExchangeClient replaceWithLazyClient() {
         return gclient;
     }
 
+    @Override
     public boolean isClosed() {
         return client.isClosed();
     }
@@ -170,4 +191,4 @@ public boolean isClosed() {
     public void incrementAndGetCount() {
         refenceCount.incrementAndGet();
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/filter/FutureFilter.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/filter/FutureFilter.java
index 764a5862ed..8e20a74c9e 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/filter/FutureFilter.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/filter/FutureFilter.java
@@ -44,6 +44,7 @@
 
     protected static final Logger logger = LoggerFactory.getLogger(FutureFilter.class);
 
+    @Override
     public Result invoke(final Invoker<?> invoker, final Invocation invocation) throws RpcException {
         final boolean isAsync = RpcUtils.isAsync(invoker.getUrl(), invocation);
 
@@ -72,6 +73,7 @@ private void asyncCallback(final Invoker<?> invoker, final Invocation invocation
         if (f instanceof FutureAdapter) {
             ResponseFuture future = ((FutureAdapter<?>) f).getFuture();
             future.setCallback(new ResponseCallback() {
+                @Override
                 public void done(Object rpcResult) {
                     if (rpcResult == null) {
                         logger.error(new IllegalStateException("invalid result value : null, expected " + Result.class.getName()));
@@ -90,6 +92,7 @@ public void done(Object rpcResult) {
                     }
                 }
 
+                @Override
                 public void caught(Throwable exception) {
                     fireThrowCallback(invoker, invocation, exception);
                 }
@@ -203,4 +206,4 @@ private void fireThrowCallback(final Invoker<?> invoker, final Invocation invoca
             logger.error(invocation.getMethodName() + ".call back method invoke error . callback method :" + onthrowMethod + ", url:" + invoker.getUrl(), exception);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/filter/TraceFilter.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/filter/TraceFilter.java
index 63afc32581..1693b0b9a3 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/filter/TraceFilter.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/filter/TraceFilter.java
@@ -72,6 +72,7 @@ public static void removeTracer(Class<?> type, String method, Channel channel) {
         }
     }
 
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         long start = System.currentTimeMillis();
         Result result = invoker.invoke(invocation);
@@ -124,4 +125,4 @@ public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcExcept
         return result;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/status/ServerStatusChecker.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/status/ServerStatusChecker.java
index 6390737d66..fb793ced54 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/status/ServerStatusChecker.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/status/ServerStatusChecker.java
@@ -30,6 +30,7 @@
 @Activate
 public class ServerStatusChecker implements StatusChecker {
 
+    @Override
     public Status check() {
         Collection<ExchangeServer> servers = DubboProtocol.getDubboProtocol().getServers();
         if (servers == null || servers.isEmpty()) {
@@ -55,4 +56,4 @@ public Status check() {
         return new Status(level, buf.toString());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/status/ThreadPoolStatusChecker.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/status/ThreadPoolStatusChecker.java
index 89f67b8af0..7b1b721bf1 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/status/ThreadPoolStatusChecker.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/status/ThreadPoolStatusChecker.java
@@ -33,6 +33,7 @@
 @Activate
 public class ThreadPoolStatusChecker implements StatusChecker {
 
+    @Override
     public Status check() {
         DataStore dataStore = ExtensionLoader.getExtensionLoader(DataStore.class).getDefaultExtension();
         Map<String, Object> executors = dataStore.get(Constants.EXECUTOR_SERVICE_COMPONENT_KEY);
@@ -67,4 +68,4 @@ public Status check() {
         return msg.length() == 0 ? new Status(Status.Level.UNKNOWN) : new Status(level, msg.toString());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/ChangeTelnetHandler.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/ChangeTelnetHandler.java
index 712ec967e4..60fecdc65f 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/ChangeTelnetHandler.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/ChangeTelnetHandler.java
@@ -32,6 +32,7 @@
 
     public static final String SERVICE_KEY = "telnet.service";
 
+    @Override
     public String telnet(Channel channel, String message) {
         if (message == null || message.length() == 0) {
             return "Please input service name, eg: \r\ncd XxxService\r\ncd com.xxx.XxxService";
@@ -61,4 +62,4 @@ public String telnet(Channel channel, String message) {
         return buf.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/CountTelnetHandler.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/CountTelnetHandler.java
index 292f5a0ad7..202c49b056 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/CountTelnetHandler.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/CountTelnetHandler.java
@@ -40,6 +40,7 @@
 @Help(parameter = "[service] [method] [times]", summary = "Count the service.", detail = "Count the service.")
 public class CountTelnetHandler implements TelnetHandler {
 
+    @Override
     public String telnet(final Channel channel, String message) {
         String service = (String) channel.getAttribute(ChangeTelnetHandler.SERVICE_KEY);
         if ((service == null || service.length() == 0)
@@ -84,6 +85,7 @@ public String telnet(final Channel channel, String message) {
                 final Invoker<?> inv = invoker;
                 final String prompt = channel.getUrl().getParameter("prompt", "telnet");
                 Thread thread = new Thread(new Runnable() {
+                    @Override
                     public void run() {
                         for (int i = 0; i < t; i++) {
                             String result = count(inv, mtd);
@@ -162,4 +164,4 @@ private String count(Invoker<?> invoker, String method) {
         return TelnetUtils.toTable(header, table);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/CurrentTelnetHandler.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/CurrentTelnetHandler.java
index 35b8a5639e..ff3d94ad66 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/CurrentTelnetHandler.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/CurrentTelnetHandler.java
@@ -28,6 +28,7 @@
 @Help(parameter = "", summary = "Print working default service.", detail = "Print working default service.")
 public class CurrentTelnetHandler implements TelnetHandler {
 
+    @Override
     public String telnet(Channel channel, String message) {
         if (message.length() > 0) {
             return "Unsupported parameter " + message + " for pwd.";
@@ -42,4 +43,4 @@ public String telnet(Channel channel, String message) {
         return buf.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java
index 465489def2..47f11f5b08 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java
@@ -86,6 +86,7 @@ private static boolean isMatch(Class<?>[] types, List<Object> args) {
         return true;
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public String telnet(Channel channel, String message) {
         if (message == null || message.length() == 0) {
@@ -156,4 +157,4 @@ public String telnet(Channel channel, String message) {
         return buf.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/ListTelnetHandler.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/ListTelnetHandler.java
index aad5b99cf6..554cca0d94 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/ListTelnetHandler.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/ListTelnetHandler.java
@@ -34,6 +34,7 @@
 @Help(parameter = "[-l] [service]", summary = "List services and methods.", detail = "List services and methods.")
 public class ListTelnetHandler implements TelnetHandler {
 
+    @Override
     public String telnet(Channel channel, String message) {
         StringBuilder buf = new StringBuilder();
         String service = null;
@@ -96,4 +97,4 @@ public String telnet(Channel channel, String message) {
         return buf.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/LogTelnetHandler.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/LogTelnetHandler.java
index b20f66a2b4..c8379b3e46 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/LogTelnetHandler.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/LogTelnetHandler.java
@@ -41,6 +41,7 @@
 
     public static final String SERVICE_KEY = "telnet.log";
 
+    @Override
     public String telnet(Channel channel, String message) {
         long size = 0;
         File file = LoggerFactory.getFile();
@@ -90,4 +91,4 @@ public String telnet(Channel channel, String message) {
         return buf.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/PortTelnetHandler.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/PortTelnetHandler.java
index 72642e7fa1..e12243e1ee 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/PortTelnetHandler.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/PortTelnetHandler.java
@@ -34,6 +34,7 @@
 @Help(parameter = "[-l] [port]", summary = "Print server ports and connections.", detail = "Print server ports and connections.")
 public class PortTelnetHandler implements TelnetHandler {
 
+    @Override
     public String telnet(Channel channel, String message) {
         StringBuilder buf = new StringBuilder();
         String port = null;
@@ -90,4 +91,4 @@ public String telnet(Channel channel, String message) {
         return buf.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/TraceTelnetHandler.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/TraceTelnetHandler.java
index a28ee2a8e5..65c6fd6798 100644
--- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/TraceTelnetHandler.java
+++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/telnet/TraceTelnetHandler.java
@@ -35,6 +35,7 @@
 @Help(parameter = "[service] [method] [times]", summary = "Trace the service.", detail = "Trace the service.")
 public class TraceTelnetHandler implements TelnetHandler {
 
+    @Override
     public String telnet(Channel channel, String message) {
         String service = (String) channel.getAttribute(ChangeTelnetHandler.SERVICE_KEY);
         if ((service == null || service.length() == 0)
@@ -88,4 +89,4 @@ public String telnet(Channel channel, String message) {
         return null;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HessianProtocol.java b/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HessianProtocol.java
index 607ac5ed52..f1eae5cf63 100644
--- a/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HessianProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HessianProtocol.java
@@ -59,10 +59,12 @@ public void setHttpBinder(HttpBinder httpBinder) {
         this.httpBinder = httpBinder;
     }
 
+    @Override
     public int getDefaultPort() {
         return 80;
     }
 
+    @Override
     protected <T> Runnable doExport(T impl, Class<T> type, URL url) throws RpcException {
         String addr = getAddr(url);
         HttpServer server = serverMap.get(addr);
@@ -74,12 +76,14 @@ public int getDefaultPort() {
         HessianSkeleton skeleton = new HessianSkeleton(impl, type);
         skeletonMap.put(path, skeleton);
         return new Runnable() {
+            @Override
             public void run() {
                 skeletonMap.remove(path);
             }
         };
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     protected <T> T doRefer(Class<T> serviceType, URL url) throws RpcException {
         HessianProxyFactory hessianProxyFactory = new HessianProxyFactory();
@@ -99,6 +103,7 @@ public void run() {
         return (T) hessianProxyFactory.create(serviceType, url.setProtocol("http").toJavaURL(), Thread.currentThread().getContextClassLoader());
     }
 
+    @Override
     protected int getErrorCode(Throwable e) {
         if (e instanceof HessianConnectionException) {
             if (e.getCause() != null) {
@@ -114,6 +119,7 @@ protected int getErrorCode(Throwable e) {
         return super.getErrorCode(e);
     }
 
+    @Override
     public void destroy() {
         super.destroy();
         for (String key : new ArrayList<String>(serverMap.keySet())) {
@@ -133,6 +139,7 @@ public void destroy() {
 
     private class HessianHandler implements HttpHandler {
 
+        @Override
         public void handle(HttpServletRequest request, HttpServletResponse response)
                 throws IOException, ServletException {
             String uri = request.getRequestURI();
diff --git a/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HttpClientConnection.java b/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HttpClientConnection.java
index 52ac3f5d9b..777ba56f1b 100644
--- a/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HttpClientConnection.java
+++ b/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HttpClientConnection.java
@@ -48,35 +48,43 @@ public HttpClientConnection(HttpClient httpClient, URL url) {
         this.request = new HttpPost(url.toString());
     }
 
+    @Override
     public void addHeader(String key, String value) {
         request.addHeader(new BasicHeader(key, value));
     }
 
+    @Override
     public OutputStream getOutputStream() throws IOException {
         return output;
     }
 
+    @Override
     public void sendRequest() throws IOException {
         request.setEntity(new ByteArrayEntity(output.toByteArray()));
         this.response = httpClient.execute(request);
     }
 
+    @Override
     public int getStatusCode() {
         return response == null || response.getStatusLine() == null ? 0 : response.getStatusLine().getStatusCode();
     }
 
+    @Override
     public String getStatusMessage() {
         return response == null || response.getStatusLine() == null ? null : response.getStatusLine().getReasonPhrase();
     }
 
+    @Override
     public String getContentEncoding() {
         return (response == null || response.getEntity() == null || response.getEntity().getContentEncoding() == null) ? null : response.getEntity().getContentEncoding().getValue();
     }
 
+    @Override
     public InputStream getInputStream() throws IOException {
         return response == null || response.getEntity() == null ? null : response.getEntity().getContent();
     }
 
+    @Override
     public void close() throws IOException {
         HttpPost request = this.request;
         if (request != null) {
@@ -84,7 +92,8 @@ public void close() throws IOException {
         }
     }
 
+    @Override
     public void destroy() throws IOException {
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HttpClientConnectionFactory.java b/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HttpClientConnectionFactory.java
index 7a366e589f..033277d02e 100644
--- a/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HttpClientConnectionFactory.java
+++ b/dubbo-rpc/dubbo-rpc-hessian/src/main/java/com/alibaba/dubbo/rpc/protocol/hessian/HttpClientConnectionFactory.java
@@ -33,13 +33,15 @@
 
     private final HttpClient httpClient = new DefaultHttpClient();
 
+    @Override
     public void setHessianProxyFactory(HessianProxyFactory factory) {
         HttpConnectionParams.setConnectionTimeout(httpClient.getParams(), (int) factory.getConnectTimeout());
         HttpConnectionParams.setSoTimeout(httpClient.getParams(), (int) factory.getReadTimeout());
     }
 
+    @Override
     public HessianConnection open(URL url) throws IOException {
         return new HttpClientConnection(httpClient, url);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-http/src/main/java/com/alibaba/dubbo/rpc/protocol/http/HttpProtocol.java b/dubbo-rpc/dubbo-rpc-http/src/main/java/com/alibaba/dubbo/rpc/protocol/http/HttpProtocol.java
index 5593c7ae83..27a59134e8 100644
--- a/dubbo-rpc/dubbo-rpc-http/src/main/java/com/alibaba/dubbo/rpc/protocol/http/HttpProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-http/src/main/java/com/alibaba/dubbo/rpc/protocol/http/HttpProtocol.java
@@ -61,10 +61,12 @@ public void setHttpBinder(HttpBinder httpBinder) {
         this.httpBinder = httpBinder;
     }
 
+    @Override
     public int getDefaultPort() {
         return DEFAULT_PORT;
     }
 
+    @Override
     protected <T> Runnable doExport(final T impl, Class<T> type, URL url) throws RpcException {
         String addr = getAddr(url);
         HttpServer server = serverMap.get(addr);
@@ -83,12 +85,14 @@ public int getDefaultPort() {
         final String path = url.getAbsolutePath();
         skeletonMap.put(path, httpServiceExporter);
         return new Runnable() {
+            @Override
             public void run() {
                 skeletonMap.remove(path);
             }
         };
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     protected <T> T doRefer(final Class<T> serviceType, final URL url) throws RpcException {
         final HttpInvokerProxyFactoryBean httpProxyFactoryBean = new HttpInvokerProxyFactoryBean();
@@ -97,6 +101,7 @@ public void run() {
         String client = url.getParameter(Constants.CLIENT_KEY);
         if (client == null || client.length() == 0 || "simple".equals(client)) {
             SimpleHttpInvokerRequestExecutor httpInvokerRequestExecutor = new SimpleHttpInvokerRequestExecutor() {
+                @Override
                 protected void prepareConnection(HttpURLConnection con,
                                                  int contentLength) throws IOException {
                     super.prepareConnection(con, contentLength);
@@ -116,6 +121,7 @@ protected void prepareConnection(HttpURLConnection con,
         return (T) httpProxyFactoryBean.getObject();
     }
 
+    @Override
     protected int getErrorCode(Throwable e) {
         if (e instanceof RemoteAccessException) {
             e = e.getCause();
@@ -135,6 +141,7 @@ protected int getErrorCode(Throwable e) {
 
     private class InternalHandler implements HttpHandler {
 
+        @Override
         public void handle(HttpServletRequest request, HttpServletResponse response)
                 throws IOException, ServletException {
             String uri = request.getRequestURI();
@@ -153,4 +160,4 @@ public void handle(HttpServletRequest request, HttpServletResponse response)
 
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmExporter.java b/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmExporter.java
index b349754643..b2004c8c20 100644
--- a/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmExporter.java
+++ b/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmExporter.java
@@ -38,9 +38,10 @@
         exporterMap.put(key, this);
     }
 
+    @Override
     public void unexport() {
         super.unexport();
         exporterMap.remove(key);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmInvoker.java b/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmInvoker.java
index 952135f4f6..08a7db2974 100644
--- a/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmInvoker.java
+++ b/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmInvoker.java
@@ -52,6 +52,7 @@ public boolean isAvailable() {
         }
     }
 
+    @Override
     public Result doInvoke(Invocation invocation) throws Throwable {
         Exporter<?> exporter = InjvmProtocol.getExporter(exporterMap, getUrl());
         if (exporter == null) {
@@ -60,4 +61,4 @@ public Result doInvoke(Invocation invocation) throws Throwable {
         RpcContext.getContext().setRemoteAddress(NetUtils.LOCALHOST, 0);
         return exporter.getInvoker().invoke(invocation);
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocol.java b/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocol.java
index d9b0818a83..74d9275fbe 100644
--- a/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-injvm/src/main/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocol.java
@@ -76,14 +76,17 @@ public static InjvmProtocol getInjvmProtocol() {
         }
     }
 
+    @Override
     public int getDefaultPort() {
         return DEFAULT_PORT;
     }
 
+    @Override
     public <T> Exporter<T> export(Invoker<T> invoker) throws RpcException {
         return new InjvmExporter<T>(invoker, invoker.getUrl().getServiceKey(), exporterMap);
     }
 
+    @Override
     public <T> Invoker<T> refer(Class<T> serviceType, URL url) throws RpcException {
         return new InjvmInvoker<T>(serviceType, url, url.getServiceKey(), exporterMap);
     }
@@ -112,4 +115,4 @@ public boolean isInjvmRefer(URL url) {
         }
         return isJvmRefer;
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-memcached/src/main/java/com/alibaba/dubbo/rpc/protocol/memcached/MemcachedProtocol.java b/dubbo-rpc/dubbo-rpc-memcached/src/main/java/com/alibaba/dubbo/rpc/protocol/memcached/MemcachedProtocol.java
index ff0bc9702d..6cf4737e7a 100644
--- a/dubbo-rpc/dubbo-rpc-memcached/src/main/java/com/alibaba/dubbo/rpc/protocol/memcached/MemcachedProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-memcached/src/main/java/com/alibaba/dubbo/rpc/protocol/memcached/MemcachedProtocol.java
@@ -45,14 +45,17 @@
 
     public static final int DEFAULT_PORT = 11211;
 
+    @Override
     public int getDefaultPort() {
         return DEFAULT_PORT;
     }
 
+    @Override
     public <T> Exporter<T> export(final Invoker<T> invoker) throws RpcException {
         throw new UnsupportedOperationException("Unsupported export memcached service. url: " + invoker.getUrl());
     }
 
+    @Override
     public <T> Invoker<T> refer(final Class<T> type, final URL url) throws RpcException {
         try {
             String address = url.getAddress();
@@ -67,6 +70,7 @@ public int getDefaultPort() {
             final String set = url.getParameter("set", Map.class.equals(type) ? "put" : "set");
             final String delete = url.getParameter("delete", Map.class.equals(type) ? "remove" : "delete");
             return new AbstractInvoker<T>(type, url) {
+                @Override
                 protected Result doInvoke(Invocation invocation) throws Throwable {
                     try {
                         if (get.equals(invocation.getMethodName())) {
@@ -100,6 +104,7 @@ protected Result doInvoke(Invocation invocation) throws Throwable {
                     }
                 }
 
+                @Override
                 public void destroy() {
                     super.destroy();
                     try {
diff --git a/dubbo-rpc/dubbo-rpc-redis/src/main/java/com/alibaba/dubbo/rpc/protocol/redis/RedisProtocol.java b/dubbo-rpc/dubbo-rpc-redis/src/main/java/com/alibaba/dubbo/rpc/protocol/redis/RedisProtocol.java
index bd0aad38ee..dba2ac1b0e 100644
--- a/dubbo-rpc/dubbo-rpc-redis/src/main/java/com/alibaba/dubbo/rpc/protocol/redis/RedisProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-redis/src/main/java/com/alibaba/dubbo/rpc/protocol/redis/RedisProtocol.java
@@ -52,10 +52,12 @@
 
     public static final int DEFAULT_PORT = 6379;
 
+    @Override
     public int getDefaultPort() {
         return DEFAULT_PORT;
     }
 
+    @Override
     public <T> Exporter<T> export(final Invoker<T> invoker) throws RpcException {
         throw new UnsupportedOperationException("Unsupported export redis service. url: " + invoker.getUrl());
     }
@@ -64,6 +66,7 @@ private Serialization getSerialization(URL url) {
         return ExtensionLoader.getExtensionLoader(Serialization.class).getExtension(url.getParameter(Constants.SERIALIZATION_KEY, "java"));
     }
 
+    @Override
     public <T> Invoker<T> refer(final Class<T> type, final URL url) throws RpcException {
         try {
             GenericObjectPoolConfig config = new GenericObjectPoolConfig();
@@ -93,6 +96,7 @@ private Serialization getSerialization(URL url) {
             final String set = url.getParameter("set", Map.class.equals(type) ? "put" : "set");
             final String delete = url.getParameter("delete", Map.class.equals(type) ? "remove" : "delete");
             return new AbstractInvoker<T>(type, url) {
+                @Override
                 protected Result doInvoke(Invocation invocation) throws Throwable {
                     Jedis resource = null;
                     try {
@@ -151,6 +155,7 @@ protected Result doInvoke(Invocation invocation) throws Throwable {
                     }
                 }
 
+                @Override
                 public void destroy() {
                     super.destroy();
                     try {
diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/BaseRestServer.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/BaseRestServer.java
index 999cca7898..1942971cba 100644
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/BaseRestServer.java
+++ b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/BaseRestServer.java
@@ -24,6 +24,7 @@
 
 public abstract class BaseRestServer implements RestServer {
 
+    @Override
     public void start(URL url) {
         getDeployment().getMediaTypeMappings().put("json", "application/json");
         getDeployment().getMediaTypeMappings().put("xml", "text/xml");
@@ -37,6 +38,7 @@ public void start(URL url) {
         doStart(url);
     }
 
+    @Override
     public void deploy(Class resourceDef, Object resourceInstance, String contextPath) {
         if (StringUtils.isEmpty(contextPath)) {
             getDeployment().getRegistry().addResourceFactory(new DubboResourceFactory(resourceInstance, resourceDef));
@@ -45,6 +47,7 @@ public void deploy(Class resourceDef, Object resourceInstance, String contextPat
         }
     }
 
+    @Override
     public void undeploy(Class resourceDef) {
         getDeployment().getRegistry().removeRegistrations(resourceDef);
     }
diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/DubboHttpServer.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/DubboHttpServer.java
index 7f74445be4..895e5853b4 100644
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/DubboHttpServer.java
+++ b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/DubboHttpServer.java
@@ -48,6 +48,7 @@ public DubboHttpServer(HttpBinder httpBinder) {
         this.httpBinder = httpBinder;
     }
 
+    @Override
     protected void doStart(URL url) {
         // TODO jetty will by default enable keepAlive so the xml config has no effect now
         httpServer = httpBinder.bind(url, new RestHandler());
@@ -70,16 +71,19 @@ protected void doStart(URL url) {
         }
     }
 
+    @Override
     public void stop() {
         httpServer.close();
     }
 
+    @Override
     protected ResteasyDeployment getDeployment() {
         return deployment;
     }
 
     private class RestHandler implements HttpHandler {
 
+        @Override
         public void handle(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
             RpcContext.getContext().setRemoteAddress(request.getRemoteAddr(), request.getRemotePort());
             dispatcher.service(request, response);
@@ -94,24 +98,30 @@ public SimpleServletConfig(ServletContext servletContext) {
             this.servletContext = servletContext;
         }
 
+        @Override
         public String getServletName() {
             return "DispatcherServlet";
         }
 
+        @Override
         public ServletContext getServletContext() {
             return servletContext;
         }
 
+        @Override
         public String getInitParameter(String s) {
             return null;
         }
 
+        @Override
         public Enumeration getInitParameterNames() {
             return new Enumeration() {
+                @Override
                 public boolean hasMoreElements() {
                     return false;
                 }
 
+                @Override
                 public Object nextElement() {
                     return null;
                 }
diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/DubboResourceFactory.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/DubboResourceFactory.java
index 661ef52fcc..63d30f0c97 100644
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/DubboResourceFactory.java
+++ b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/DubboResourceFactory.java
@@ -41,23 +41,28 @@ public DubboResourceFactory(Object resourceInstance, Class scannableClass) {
 //        return propertyInjector;
 //    }
 
+    @Override
     public Object createResource(HttpRequest request, HttpResponse response,
                                  ResteasyProviderFactory factory) {
         return resourceInstance;
     }
 
+    @Override
     public Class<?> getScannableClass() {
         return scannableClass;
     }
 
+    @Override
     public void registered(ResteasyProviderFactory factory) {
 //        this.propertyInjector = factory.getInjectorFactory().createPropertyInjector(getScannableClass(), factory);
     }
 
+    @Override
     public void requestFinished(HttpRequest request, HttpResponse response,
                                 Object resource) {
     }
 
+    @Override
     public void unregistered() {
     }
 
@@ -68,4 +73,4 @@ public void unregistered() {
 //    public String getContext() {
 //        return context;
 //    }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/NettyServer.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/NettyServer.java
index dbbd9bf350..efb2ca88f6 100644
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/NettyServer.java
+++ b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/NettyServer.java
@@ -35,6 +35,7 @@
 
     private final NettyJaxrsServer server = new NettyJaxrsServer();
 
+    @Override
     protected void doStart(URL url) {
         String bindIp = url.getParameter(Constants.BIND_IP_KEY, url.getHost());
         if (!url.isAnyHost() && NetUtils.isValidLocalHost(bindIp)) {
@@ -50,10 +51,12 @@ protected void doStart(URL url) {
         server.start();
     }
 
+    @Override
     public void stop() {
         server.stop();
     }
 
+    @Override
     protected ResteasyDeployment getDeployment() {
         return server.getDeployment();
     }
diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RestProtocol.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RestProtocol.java
index 2177d0f3d0..319b5818d9 100644
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RestProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RestProtocol.java
@@ -75,10 +75,12 @@ public void setHttpBinder(HttpBinder httpBinder) {
         serverFactory.setHttpBinder(httpBinder);
     }
 
+    @Override
     public int getDefaultPort() {
         return DEFAULT_PORT;
     }
 
+    @Override
     protected <T> Runnable doExport(T impl, Class<T> type, URL url) throws RpcException {
         String addr = getAddr(url);
         Class implClass = ServiceClassHolder.getInstance().popServiceClass();
@@ -116,6 +118,7 @@ public int getDefaultPort() {
 
         final RestServer s = server;
         return new Runnable() {
+            @Override
             public void run() {
                 // TODO due to dubbo's current architecture,
                 // it will be called from registry protocol in the shutdown process and won't appear in logs
@@ -124,6 +127,7 @@ public void run() {
         };
     }
 
+    @Override
     protected <T> T doRefer(Class<T> serviceType, URL url) throws RpcException {
         if (connectionMonitor == null) {
             connectionMonitor = new ConnectionMonitor();
@@ -148,6 +152,7 @@ public void run() {
 
         CloseableHttpClient httpClient = HttpClientBuilder.create()
                 .setKeepAliveStrategy(new ConnectionKeepAliveStrategy() {
+                    @Override
                     public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
                         HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE));
                         while (it.hasNext()) {
@@ -187,11 +192,13 @@ public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
         return target.proxy(serviceType);
     }
 
+    @Override
     protected int getErrorCode(Throwable e) {
         // TODO
         return super.getErrorCode(e);
     }
 
+    @Override
     public void destroy() {
         super.destroy();
 
@@ -237,6 +244,7 @@ public void addConnectionManager(PoolingHttpClientConnectionManager connectionMa
             connectionManagers.add(connectionManager);
         }
 
+        @Override
         public void run() {
             try {
                 while (!shutdown) {
@@ -262,4 +270,4 @@ public void shutdown() {
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RpcContextFilter.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RpcContextFilter.java
index f250425dec..99bd681d87 100644
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RpcContextFilter.java
+++ b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RpcContextFilter.java
@@ -39,6 +39,7 @@
     // currently we use a single header to hold the attachments so that the total attachment size limit is about 8k
     private static final int MAX_HEADER_SIZE = 8 * 1024;
 
+    @Override
     public void filter(ContainerRequestContext requestContext) throws IOException {
         HttpServletRequest request = ResteasyProviderFactory.getContextData(HttpServletRequest.class);
         RpcContext.getContext().setRequest(request);
@@ -65,6 +66,7 @@ public void filter(ContainerRequestContext requestContext) throws IOException {
         }
     }
 
+    @Override
     public void filter(ClientRequestContext requestContext) throws IOException {
         int size = 0;
         for (Map.Entry<String, String> entry : RpcContext.getContext().getAttachments().entrySet()) {
diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RpcExceptionMapper.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RpcExceptionMapper.java
index d88320da54..039819771b 100644
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RpcExceptionMapper.java
+++ b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/RpcExceptionMapper.java
@@ -26,6 +26,7 @@
 
 public class RpcExceptionMapper implements ExceptionMapper<RpcException> {
 
+    @Override
     public Response toResponse(RpcException e) {
         // TODO do more sophisticated exception handling and output
         if (e.getCause() instanceof ConstraintViolationException) {
diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/support/LoggingFilter.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/support/LoggingFilter.java
index 8c60eaebee..679eb63c63 100644
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/support/LoggingFilter.java
+++ b/dubbo-rpc/dubbo-rpc-rest/src/main/java/com/alibaba/dubbo/rpc/protocol/rest/support/LoggingFilter.java
@@ -52,22 +52,27 @@
 
     private static final Logger logger = LoggerFactory.getLogger(LoggingFilter.class);
 
+    @Override
     public void filter(ClientRequestContext context) throws IOException {
         logHttpHeaders(context.getStringHeaders());
     }
 
+    @Override
     public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException {
         logHttpHeaders(responseContext.getHeaders());
     }
 
+    @Override
     public void filter(ContainerRequestContext context) throws IOException {
         logHttpHeaders(context.getHeaders());
     }
 
+    @Override
     public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
         logHttpHeaders(responseContext.getStringHeaders());
     }
 
+    @Override
     public Object aroundReadFrom(ReaderInterceptorContext context) throws IOException, WebApplicationException {
         byte[] buffer = IOUtils.toByteArray(context.getInputStream());
         logger.info("The contents of request body is: \n" + new String(buffer, "UTF-8") + "\n");
@@ -75,6 +80,7 @@ public Object aroundReadFrom(ReaderInterceptorContext context) throws IOExceptio
         return context.proceed();
     }
 
+    @Override
     public void aroundWriteTo(WriterInterceptorContext context) throws IOException, WebApplicationException {
         OutputStreamWrapper wrapper = new OutputStreamWrapper(context.getOutputStream());
         context.setOutputStream(wrapper);
diff --git a/dubbo-rpc/dubbo-rpc-rmi/src/main/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocol.java b/dubbo-rpc/dubbo-rpc-rmi/src/main/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocol.java
index 20f4e992ec..8b01c1d934 100644
--- a/dubbo-rpc/dubbo-rpc-rmi/src/main/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-rmi/src/main/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocol.java
@@ -44,10 +44,12 @@ public RmiProtocol() {
         super(RemoteAccessException.class, RemoteException.class);
     }
 
+    @Override
     public int getDefaultPort() {
         return DEFAULT_PORT;
     }
 
+    @Override
     protected <T> Runnable doExport(final T impl, Class<T> type, URL url) throws RpcException {
         final RmiServiceExporter rmiServiceExporter = new RmiServiceExporter();
         rmiServiceExporter.setRegistryPort(url.getPort());
@@ -60,6 +62,7 @@ public int getDefaultPort() {
             throw new RpcException(e.getMessage(), e);
         }
         return new Runnable() {
+            @Override
             public void run() {
                 try {
                     rmiServiceExporter.destroy();
@@ -70,6 +73,7 @@ public void run() {
         };
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     protected <T> T doRefer(final Class<T> serviceType, final URL url) throws RpcException {
         final RmiProxyFactoryBean rmiProxyFactoryBean = new RmiProxyFactoryBean();
@@ -77,6 +81,7 @@ public void run() {
         if (url.getParameter(Constants.DUBBO_VERSION_KEY, Version.getVersion()).equals(Version.getVersion())) {
             // Check dubbo version on provider, this feature only support
             rmiProxyFactoryBean.setRemoteInvocationFactory(new RemoteInvocationFactory() {
+                @Override
                 public RemoteInvocation createRemoteInvocation(MethodInvocation methodInvocation) {
                     return new RmiRemoteInvocation(methodInvocation);
                 }
@@ -91,6 +96,7 @@ public RemoteInvocation createRemoteInvocation(MethodInvocation methodInvocation
         return (T) rmiProxyFactoryBean.getObject();
     }
 
+    @Override
     protected int getErrorCode(Throwable e) {
         if (e instanceof RemoteAccessException) {
             e = e.getCause();
@@ -108,4 +114,4 @@ protected int getErrorCode(Throwable e) {
         return super.getErrorCode(e);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/DubboClassNameGenerator.java b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/DubboClassNameGenerator.java
index ac5312bcdf..b662072186 100644
--- a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/DubboClassNameGenerator.java
+++ b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/DubboClassNameGenerator.java
@@ -20,10 +20,12 @@
 
     public static final String NAME = "dubbo";
 
+    @Override
     public String generateArgsClassName(String serviceName, String methodName) {
         return ThriftUtils.generateMethodArgsClassName(serviceName, methodName);
     }
 
+    @Override
     public String generateResultClassName(String serviceName, String methodName) {
         return ThriftUtils.generateMethodResultClassName(serviceName, methodName);
     }
diff --git a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftClassNameGenerator.java b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftClassNameGenerator.java
index 7298fdbdd6..ed867260d4 100644
--- a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftClassNameGenerator.java
+++ b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftClassNameGenerator.java
@@ -20,10 +20,12 @@
 
     public static final String NAME = "thrift";
 
+    @Override
     public String generateArgsClassName(String serviceName, String methodName) {
         return ThriftUtils.generateMethodArgsClassNameThrift(serviceName, methodName);
     }
 
+    @Override
     public String generateResultClassName(String serviceName, String methodName) {
         return ThriftUtils.generateMethodResultClassNameThrift(serviceName, methodName);
     }
diff --git a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftCodec.java b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftCodec.java
index ced6439520..a708e8f459 100644
--- a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftCodec.java
+++ b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftCodec.java
@@ -96,6 +96,7 @@ static int getSeqId() {
         return THRIFT_SEQ_ID.get();
     }
 
+    @Override
     public void encode(Channel channel, ChannelBuffer buffer, Object message)
             throws IOException {
 
@@ -115,6 +116,7 @@ public void encode(Channel channel, ChannelBuffer buffer, Object message)
 
     }
 
+    @Override
     public Object decode(Channel channel, ChannelBuffer buffer) throws IOException {
 
         int available = buffer.readableBytes();
diff --git a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftInvoker.java b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftInvoker.java
index c06225fd70..af39ddefef 100644
--- a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftInvoker.java
+++ b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftInvoker.java
@@ -111,6 +111,7 @@ public boolean isAvailable() {
         return false;
     }
 
+    @Override
     public void destroy() {
         // in order to avoid closing a client multiple times, a counter is used in case of connection per jvm, every
         // time when client.close() is called, counter counts down once, and when counter reaches zero, client will be
diff --git a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftNativeCodec.java b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftNativeCodec.java
index 9d1f463f56..38fd422762 100644
--- a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftNativeCodec.java
+++ b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftNativeCodec.java
@@ -49,6 +49,7 @@ protected static TProtocol newProtocol(URL url, ChannelBuffer buffer) throws IOE
         throw new IOException("Unsupported protocol type " + protocol);
     }
 
+    @Override
     public void encode(Channel channel, ChannelBuffer buffer, Object message)
             throws IOException {
         if (message instanceof Request) {
@@ -85,6 +86,7 @@ protected void encodeResponse(Channel channel, ChannelBuffer buffer, Response re
 
     }
 
+    @Override
     public Object decode(Channel channel, ChannelBuffer buffer) throws IOException {
         return null;
     }
diff --git a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftProtocol.java b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftProtocol.java
index 7832569440..c1fdcf19dc 100644
--- a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ThriftProtocol.java
@@ -102,10 +102,12 @@ public void received(Channel channel, Object message) throws RemotingException {
 
     };
 
+    @Override
     public int getDefaultPort() {
         return DEFAULT_PORT;
     }
 
+    @Override
     public <T> Exporter<T> export(Invoker<T> invoker) throws RpcException {
 
         // can use thrift codec only
@@ -125,6 +127,7 @@ public int getDefaultPort() {
         return exporter;
     }
 
+    @Override
     public void destroy() {
 
         super.destroy();
@@ -148,6 +151,7 @@ public void destroy() {
 
     } // ~ end of method destroy
 
+    @Override
     public <T> Invoker<T> refer(Class<T> type, URL url) throws RpcException {
 
         ThriftInvoker<T> invoker = new ThriftInvoker<T>(type, url, getClients(url), invokers);
diff --git a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ext/MultiServiceProcessor.java b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ext/MultiServiceProcessor.java
index 5877d9c3db..88b80321d4 100644
--- a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ext/MultiServiceProcessor.java
+++ b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/ext/MultiServiceProcessor.java
@@ -42,6 +42,7 @@
     public MultiServiceProcessor() {
     }
 
+    @Override
     public boolean process(TProtocol in, TProtocol out) throws TException {
 
         short magic = in.readI16();
diff --git a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/io/RandomAccessByteArrayOutputStream.java b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/io/RandomAccessByteArrayOutputStream.java
index b08eb3552b..7afd90a677 100644
--- a/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/io/RandomAccessByteArrayOutputStream.java
+++ b/dubbo-rpc/dubbo-rpc-thrift/src/main/java/com/alibaba/dubbo/rpc/protocol/thrift/io/RandomAccessByteArrayOutputStream.java
@@ -41,6 +41,7 @@ public RandomAccessByteArrayOutputStream(int size) {
         buffer = new byte[size];
     }
 
+    @Override
     public void write(int b) {
 
         int newcount = count + 1;
@@ -50,6 +51,7 @@ public void write(int b) {
         count = newcount;
     }
 
+    @Override
     public void write(byte b[], int off, int len) {
 
         if ((off < 0) || (off > b.length) || (len < 0) || ((off + len) > b.length) || ((off + len) < 0))
@@ -92,6 +94,7 @@ public void writeTo(OutputStream out) throws IOException {
         out.write(buffer, 0, count);
     }
 
+    @Override
     public String toString() {
 
         return new String(buffer, 0, count);
@@ -102,6 +105,7 @@ public String toString(String charset) throws UnsupportedEncodingException {
         return new String(buffer, 0, count, charset);
     }
 
+    @Override
     public void close() throws IOException {
     }
 
diff --git a/dubbo-rpc/dubbo-rpc-thrift/src/test/java/com/alibaba/dubbo/rpc/protocol/thrift/MockedChannel.java b/dubbo-rpc/dubbo-rpc-thrift/src/test/java/com/alibaba/dubbo/rpc/protocol/thrift/MockedChannel.java
index e431bb342a..fb8834a6bd 100644
--- a/dubbo-rpc/dubbo-rpc-thrift/src/test/java/com/alibaba/dubbo/rpc/protocol/thrift/MockedChannel.java
+++ b/dubbo-rpc/dubbo-rpc-thrift/src/test/java/com/alibaba/dubbo/rpc/protocol/thrift/MockedChannel.java
@@ -31,60 +31,73 @@ public MockedChannel(URL url) {
         this.url = url;
     }
 
+    @Override
     public InetSocketAddress getRemoteAddress() {
 
         return null;
     }
 
+    @Override
     public boolean isConnected() {
 
         return false;
     }
 
+    @Override
     public boolean hasAttribute(String key) {
 
         return false;
     }
 
+    @Override
     public Object getAttribute(String key) {
 
         return null;
     }
 
+    @Override
     public void setAttribute(String key, Object value) {
 
     }
 
+    @Override
     public void removeAttribute(String key) {
 
     }
 
+    @Override
     public URL getUrl() {
         return url;
     }
 
+    @Override
     public ChannelHandler getChannelHandler() {
 
         return null;
     }
 
+    @Override
     public InetSocketAddress getLocalAddress() {
 
         return null;
     }
 
+    @Override
     public void send(Object message) throws RemotingException {
 
     }
 
+    @Override
     public void send(Object message, boolean sent) throws RemotingException {
 
     }
 
+    @Override
     public void close() {
 
     }
 
+    @Override
     public void close(int timeout) {
 
     }
@@ -94,6 +107,7 @@ public void startClose() {
 
     }
 
+    @Override
     public boolean isClosed() {
 
         return false;
diff --git a/dubbo-rpc/dubbo-rpc-webservice/src/main/java/com/alibaba/dubbo/rpc/protocol/webservice/WebServiceProtocol.java b/dubbo-rpc/dubbo-rpc-webservice/src/main/java/com/alibaba/dubbo/rpc/protocol/webservice/WebServiceProtocol.java
index 04450cad35..995f5c5f72 100644
--- a/dubbo-rpc/dubbo-rpc-webservice/src/main/java/com/alibaba/dubbo/rpc/protocol/webservice/WebServiceProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-webservice/src/main/java/com/alibaba/dubbo/rpc/protocol/webservice/WebServiceProtocol.java
@@ -72,10 +72,12 @@ public void setHttpBinder(HttpBinder httpBinder) {
         this.httpBinder = httpBinder;
     }
 
+    @Override
     public int getDefaultPort() {
         return DEFAULT_PORT;
     }
 
+    @Override
     protected <T> Runnable doExport(T impl, Class<T> type, URL url) throws RpcException {
         String addr = getAddr(url);
         HttpServer httpServer = serverMap.get(addr);
@@ -91,12 +93,14 @@ public int getDefaultPort() {
         serverFactoryBean.setDestinationFactory(transportFactory);
         serverFactoryBean.create();
         return new Runnable() {
+            @Override
             public void run() {
                 serverFactoryBean.destroy();
             }
         };
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     protected <T> T doRefer(final Class<T> serviceType, final URL url) throws RpcException {
         ClientProxyFactoryBean proxyFactoryBean = new ClientProxyFactoryBean();
@@ -113,6 +117,7 @@ public void run() {
         return ref;
     }
 
+    @Override
     protected int getErrorCode(Throwable e) {
         if (e instanceof Fault) {
             e = e.getCause();
@@ -129,6 +134,7 @@ protected int getErrorCode(Throwable e) {
 
         private volatile ServletController servletController;
 
+        @Override
         public void handle(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
             if (servletController == null) {
                 HttpServlet httpServlet = DispatcherServlet.getInstance();
@@ -148,4 +154,4 @@ public void handle(HttpServletRequest request, HttpServletResponse response) thr
 
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonObjectInput.java b/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonObjectInput.java
index 0f8713a0f1..27de7ed656 100644
--- a/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonObjectInput.java
+++ b/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonObjectInput.java
@@ -43,6 +43,7 @@ public FastJsonObjectInput(Reader reader) {
         this.reader = new BufferedReader(reader);
     }
 
+    @Override
     public boolean readBool() throws IOException {
         try {
             return readObject(boolean.class);
@@ -51,6 +52,7 @@ public boolean readBool() throws IOException {
         }
     }
 
+    @Override
     public byte readByte() throws IOException {
         try {
             return readObject(byte.class);
@@ -59,6 +61,7 @@ public byte readByte() throws IOException {
         }
     }
 
+    @Override
     public short readShort() throws IOException {
         try {
             return readObject(short.class);
@@ -67,6 +70,7 @@ public short readShort() throws IOException {
         }
     }
 
+    @Override
     public int readInt() throws IOException {
         try {
             return readObject(int.class);
@@ -75,6 +79,7 @@ public int readInt() throws IOException {
         }
     }
 
+    @Override
     public long readLong() throws IOException {
         try {
             return readObject(long.class);
@@ -83,6 +88,7 @@ public long readLong() throws IOException {
         }
     }
 
+    @Override
     public float readFloat() throws IOException {
         try {
             return readObject(float.class);
@@ -91,6 +97,7 @@ public float readFloat() throws IOException {
         }
     }
 
+    @Override
     public double readDouble() throws IOException {
         try {
             return readObject(double.class);
@@ -99,6 +106,7 @@ public double readDouble() throws IOException {
         }
     }
 
+    @Override
     public String readUTF() throws IOException {
         try {
             return readObject(String.class);
@@ -107,20 +115,24 @@ public String readUTF() throws IOException {
         }
     }
 
+    @Override
     public byte[] readBytes() throws IOException {
         return readLine().getBytes();
     }
 
+    @Override
     public Object readObject() throws IOException, ClassNotFoundException {
         String json = readLine();
         return JSON.parse(json);
     }
 
+    @Override
     public <T> T readObject(Class<T> cls) throws IOException, ClassNotFoundException {
         String json = readLine();
         return JSON.parseObject(json, cls);
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T readObject(Class<T> cls, Type type) throws IOException, ClassNotFoundException {
         Object value = readObject(cls);
@@ -133,4 +145,4 @@ private String readLine() throws IOException, EOFException {
         return line;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonObjectOutput.java b/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonObjectOutput.java
index 7cdb4e3ee6..4979339479 100644
--- a/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonObjectOutput.java
+++ b/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonObjectOutput.java
@@ -42,46 +42,57 @@ public FastJsonObjectOutput(Writer writer) {
         this.writer = new PrintWriter(writer);
     }
 
+    @Override
     public void writeBool(boolean v) throws IOException {
         writeObject(v);
     }
 
+    @Override
     public void writeByte(byte v) throws IOException {
         writeObject(v);
     }
 
+    @Override
     public void writeShort(short v) throws IOException {
         writeObject(v);
     }
 
+    @Override
     public void writeInt(int v) throws IOException {
         writeObject(v);
     }
 
+    @Override
     public void writeLong(long v) throws IOException {
         writeObject(v);
     }
 
+    @Override
     public void writeFloat(float v) throws IOException {
         writeObject(v);
     }
 
+    @Override
     public void writeDouble(double v) throws IOException {
         writeObject(v);
     }
 
+    @Override
     public void writeUTF(String v) throws IOException {
         writeObject(v);
     }
 
+    @Override
     public void writeBytes(byte[] b) throws IOException {
         writer.println(new String(b));
     }
 
+    @Override
     public void writeBytes(byte[] b, int off, int len) throws IOException {
         writer.println(new String(b, off, len));
     }
 
+    @Override
     public void writeObject(Object obj) throws IOException {
         SerializeWriter out = new SerializeWriter();
         JSONSerializer serializer = new JSONSerializer(out);
@@ -93,8 +104,9 @@ public void writeObject(Object obj) throws IOException {
         writer.flush();
     }
 
+    @Override
     public void flushBuffer() throws IOException {
         writer.flush();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonSerialization.java b/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonSerialization.java
index a40670eab4..3f73434e3b 100644
--- a/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonSerialization.java
+++ b/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/com/alibaba/dubbo/common/serialize/fastjson/FastJsonSerialization.java
@@ -30,20 +30,24 @@
  */
 public class FastJsonSerialization implements Serialization {
 
+    @Override
     public byte getContentTypeId() {
         return 6;
     }
 
+    @Override
     public String getContentType() {
         return "text/json";
     }
 
+    @Override
     public ObjectOutput serialize(URL url, OutputStream output) throws IOException {
         return new FastJsonObjectOutput(output);
     }
 
+    @Override
     public ObjectInput deserialize(URL url, InputStream input) throws IOException {
         return new FastJsonObjectInput(input);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstObjectInput.java b/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstObjectInput.java
index 46f0587d82..6d437c35ed 100644
--- a/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstObjectInput.java
+++ b/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstObjectInput.java
@@ -33,34 +33,42 @@ public FstObjectInput(InputStream inputStream) {
         input = FstFactory.getDefaultFactory().getObjectInput(inputStream);
     }
 
+    @Override
     public boolean readBool() throws IOException {
         return input.readBoolean();
     }
 
+    @Override
     public byte readByte() throws IOException {
         return input.readByte();
     }
 
+    @Override
     public short readShort() throws IOException {
         return input.readShort();
     }
 
+    @Override
     public int readInt() throws IOException {
         return input.readInt();
     }
 
+    @Override
     public long readLong() throws IOException {
         return input.readLong();
     }
 
+    @Override
     public float readFloat() throws IOException {
         return input.readFloat();
     }
 
+    @Override
     public double readDouble() throws IOException {
         return input.readDouble();
     }
 
+    @Override
     public byte[] readBytes() throws IOException {
         int len = input.readInt();
         if (len < 0) {
@@ -74,15 +82,18 @@ public double readDouble() throws IOException {
         }
     }
 
+    @Override
     public String readUTF() throws IOException {
         return input.readUTF();
     }
 
+    @Override
     public Object readObject() throws IOException, ClassNotFoundException {
         return input.readObject();
     }
 
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T readObject(Class<T> clazz) throws IOException, ClassNotFoundException {
         try {
@@ -92,6 +103,7 @@ public Object readObject() throws IOException, ClassNotFoundException {
         }
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T readObject(Class<T> clazz, Type type) throws IOException, ClassNotFoundException {
         try {
@@ -100,4 +112,4 @@ public Object readObject() throws IOException, ClassNotFoundException {
             throw new IOException(e);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstObjectOutput.java b/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstObjectOutput.java
index 1ef4533077..6df1a914bd 100644
--- a/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstObjectOutput.java
+++ b/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstObjectOutput.java
@@ -32,34 +32,42 @@ public FstObjectOutput(OutputStream outputStream) {
         output = FstFactory.getDefaultFactory().getObjectOutput(outputStream);
     }
 
+    @Override
     public void writeBool(boolean v) throws IOException {
         output.writeBoolean(v);
     }
 
+    @Override
     public void writeByte(byte v) throws IOException {
         output.writeByte(v);
     }
 
+    @Override
     public void writeShort(short v) throws IOException {
         output.writeShort(v);
     }
 
+    @Override
     public void writeInt(int v) throws IOException {
         output.writeInt(v);
     }
 
+    @Override
     public void writeLong(long v) throws IOException {
         output.writeLong(v);
     }
 
+    @Override
     public void writeFloat(float v) throws IOException {
         output.writeFloat(v);
     }
 
+    @Override
     public void writeDouble(double v) throws IOException {
         output.writeDouble(v);
     }
 
+    @Override
     public void writeBytes(byte[] v) throws IOException {
         if (v == null) {
             output.writeInt(-1);
@@ -68,6 +76,7 @@ public void writeBytes(byte[] v) throws IOException {
         }
     }
 
+    @Override
     public void writeBytes(byte[] v, int off, int len) throws IOException {
         if (v == null) {
             output.writeInt(-1);
@@ -78,15 +87,18 @@ public void writeBytes(byte[] v, int off, int len) throws IOException {
     }
 
 
+    @Override
     public void writeUTF(String v) throws IOException {
         output.writeUTF(v);
     }
 
+    @Override
     public void writeObject(Object v) throws IOException {
         output.writeObject(v);
     }
 
+    @Override
     public void flushBuffer() throws IOException {
         output.flush();
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstSerialization.java b/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstSerialization.java
index 94acb6367a..b38b1a040e 100644
--- a/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstSerialization.java
+++ b/dubbo-serialization/dubbo-serialization-fst/src/main/java/com/alibaba/dubbo/common/serialize/fst/FstSerialization.java
@@ -27,19 +27,23 @@
 
 public class FstSerialization implements Serialization {
 
+    @Override
     public byte getContentTypeId() {
         return 9;
     }
 
+    @Override
     public String getContentType() {
         return "x-application/fst";
     }
 
+    @Override
     public ObjectOutput serialize(URL url, OutputStream out) throws IOException {
         return new FstObjectOutput(out);
     }
 
+    @Override
     public ObjectInput deserialize(URL url, InputStream is) throws IOException {
         return new FstObjectInput(is);
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2ObjectInput.java b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2ObjectInput.java
index 97a0598fcf..7812de7e39 100644
--- a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2ObjectInput.java
+++ b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2ObjectInput.java
@@ -34,54 +34,66 @@ public Hessian2ObjectInput(InputStream is) {
         mH2i.setSerializerFactory(Hessian2SerializerFactory.SERIALIZER_FACTORY);
     }
 
+    @Override
     public boolean readBool() throws IOException {
         return mH2i.readBoolean();
     }
 
+    @Override
     public byte readByte() throws IOException {
         return (byte) mH2i.readInt();
     }
 
+    @Override
     public short readShort() throws IOException {
         return (short) mH2i.readInt();
     }
 
+    @Override
     public int readInt() throws IOException {
         return mH2i.readInt();
     }
 
+    @Override
     public long readLong() throws IOException {
         return mH2i.readLong();
     }
 
+    @Override
     public float readFloat() throws IOException {
         return (float) mH2i.readDouble();
     }
 
+    @Override
     public double readDouble() throws IOException {
         return mH2i.readDouble();
     }
 
+    @Override
     public byte[] readBytes() throws IOException {
         return mH2i.readBytes();
     }
 
+    @Override
     public String readUTF() throws IOException {
         return mH2i.readString();
     }
 
+    @Override
     public Object readObject() throws IOException {
         return mH2i.readObject();
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T readObject(Class<T> cls) throws IOException,
             ClassNotFoundException {
         return (T) mH2i.readObject(cls);
     }
 
+    @Override
     public <T> T readObject(Class<T> cls, Type type) throws IOException, ClassNotFoundException {
         return readObject(cls);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2ObjectOutput.java b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2ObjectOutput.java
index b9d3202f0d..aa0e6b898e 100644
--- a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2ObjectOutput.java
+++ b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2ObjectOutput.java
@@ -33,51 +33,63 @@ public Hessian2ObjectOutput(OutputStream os) {
         mH2o.setSerializerFactory(Hessian2SerializerFactory.SERIALIZER_FACTORY);
     }
 
+    @Override
     public void writeBool(boolean v) throws IOException {
         mH2o.writeBoolean(v);
     }
 
+    @Override
     public void writeByte(byte v) throws IOException {
         mH2o.writeInt(v);
     }
 
+    @Override
     public void writeShort(short v) throws IOException {
         mH2o.writeInt(v);
     }
 
+    @Override
     public void writeInt(int v) throws IOException {
         mH2o.writeInt(v);
     }
 
+    @Override
     public void writeLong(long v) throws IOException {
         mH2o.writeLong(v);
     }
 
+    @Override
     public void writeFloat(float v) throws IOException {
         mH2o.writeDouble(v);
     }
 
+    @Override
     public void writeDouble(double v) throws IOException {
         mH2o.writeDouble(v);
     }
 
+    @Override
     public void writeBytes(byte[] b) throws IOException {
         mH2o.writeBytes(b);
     }
 
+    @Override
     public void writeBytes(byte[] b, int off, int len) throws IOException {
         mH2o.writeBytes(b, off, len);
     }
 
+    @Override
     public void writeUTF(String v) throws IOException {
         mH2o.writeString(v);
     }
 
+    @Override
     public void writeObject(Object obj) throws IOException {
         mH2o.writeObject(obj);
     }
 
+    @Override
     public void flushBuffer() throws IOException {
         mH2o.flushBuffer();
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2Serialization.java b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2Serialization.java
index eb0fd52bcd..2ff87f91d1 100644
--- a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2Serialization.java
+++ b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/com/alibaba/dubbo/common/serialize/hessian2/Hessian2Serialization.java
@@ -29,20 +29,24 @@
 
     public static final byte ID = 2;
 
+    @Override
     public byte getContentTypeId() {
         return ID;
     }
 
+    @Override
     public String getContentType() {
         return "x-application/hessian2";
     }
 
+    @Override
     public ObjectOutput serialize(URL url, OutputStream out) throws IOException {
         return new Hessian2ObjectOutput(out);
     }
 
+    @Override
     public ObjectInput deserialize(URL url, InputStream is) throws IOException {
         return new Hessian2ObjectInput(is);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/CompactedJavaSerialization.java b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/CompactedJavaSerialization.java
index 1cccf1665e..cdfff2a067 100644
--- a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/CompactedJavaSerialization.java
+++ b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/CompactedJavaSerialization.java
@@ -27,20 +27,24 @@
 
 public class CompactedJavaSerialization implements Serialization {
 
+    @Override
     public byte getContentTypeId() {
         return 4;
     }
 
+    @Override
     public String getContentType() {
         return "x-application/compactedjava";
     }
 
+    @Override
     public ObjectOutput serialize(URL url, OutputStream out) throws IOException {
         return new JavaObjectOutput(out, true);
     }
 
+    @Override
     public ObjectInput deserialize(URL url, InputStream is) throws IOException {
         return new JavaObjectInput(is, true);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaObjectInput.java b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaObjectInput.java
index 79853a0f1e..9a74f6660f 100644
--- a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaObjectInput.java
+++ b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaObjectInput.java
@@ -37,6 +37,7 @@ public JavaObjectInput(InputStream is, boolean compacted) throws IOException {
         super(compacted ? new CompactedObjectInputStream(is) : new ObjectInputStream(is));
     }
 
+    @Override
     public byte[] readBytes() throws IOException {
         int len = getObjectInputStream().readInt();
         if (len < 0)
@@ -51,6 +52,7 @@ public JavaObjectInput(InputStream is, boolean compacted) throws IOException {
         return b;
     }
 
+    @Override
     public String readUTF() throws IOException {
         int len = getObjectInputStream().readInt();
         if (len < 0)
@@ -59,6 +61,7 @@ public String readUTF() throws IOException {
         return getObjectInputStream().readUTF();
     }
 
+    @Override
     public Object readObject() throws IOException, ClassNotFoundException {
         byte b = getObjectInputStream().readByte();
         if (b == 0)
@@ -67,15 +70,17 @@ public Object readObject() throws IOException, ClassNotFoundException {
         return getObjectInputStream().readObject();
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T readObject(Class<T> cls) throws IOException,
             ClassNotFoundException {
         return (T) readObject();
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T readObject(Class<T> cls, Type type) throws IOException, ClassNotFoundException {
         return (T) readObject();
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaObjectOutput.java b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaObjectOutput.java
index 6c9fa72736..94859505f0 100644
--- a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaObjectOutput.java
+++ b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaObjectOutput.java
@@ -35,6 +35,7 @@ public JavaObjectOutput(OutputStream os, boolean compact) throws IOException {
         super(compact ? new CompactedObjectOutputStream(os) : new ObjectOutputStream(os));
     }
 
+    @Override
     public void writeUTF(String v) throws IOException {
         if (v == null) {
             getObjectOutputStream().writeInt(-1);
@@ -44,6 +45,7 @@ public void writeUTF(String v) throws IOException {
         }
     }
 
+    @Override
     public void writeObject(Object obj) throws IOException {
         if (obj == null) {
             getObjectOutputStream().writeByte(0);
@@ -53,7 +55,8 @@ public void writeObject(Object obj) throws IOException {
         }
     }
 
+    @Override
     public void flushBuffer() throws IOException {
         getObjectOutputStream().flush();
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaSerialization.java b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaSerialization.java
index ad38a4142e..fdd8d2e521 100644
--- a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaSerialization.java
+++ b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/java/JavaSerialization.java
@@ -27,20 +27,24 @@
 
 public class JavaSerialization implements Serialization {
 
+    @Override
     public byte getContentTypeId() {
         return 3;
     }
 
+    @Override
     public String getContentType() {
         return "x-application/java";
     }
 
+    @Override
     public ObjectOutput serialize(URL url, OutputStream out) throws IOException {
         return new JavaObjectOutput(out);
     }
 
+    @Override
     public ObjectInput deserialize(URL url, InputStream is) throws IOException {
         return new JavaObjectInput(is);
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaObjectInput.java b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaObjectInput.java
index 8daade82f7..dfbf85915d 100644
--- a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaObjectInput.java
+++ b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaObjectInput.java
@@ -42,52 +42,64 @@ protected ObjectInputStream getObjectInputStream() {
         return inputStream;
     }
 
+    @Override
     public Object readObject() throws IOException, ClassNotFoundException {
         return inputStream.readObject();
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T readObject(Class<T> cls) throws IOException, ClassNotFoundException {
         return (T) readObject();
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T readObject(Class<T> cls, Type type) throws IOException, ClassNotFoundException {
         return (T) readObject();
     }
 
+    @Override
     public boolean readBool() throws IOException {
         return inputStream.readBoolean();
     }
 
+    @Override
     public byte readByte() throws IOException {
         return inputStream.readByte();
     }
 
+    @Override
     public short readShort() throws IOException {
         return inputStream.readShort();
     }
 
+    @Override
     public int readInt() throws IOException {
         return inputStream.readInt();
     }
 
+    @Override
     public long readLong() throws IOException {
         return inputStream.readLong();
     }
 
+    @Override
     public float readFloat() throws IOException {
         return inputStream.readFloat();
     }
 
+    @Override
     public double readDouble() throws IOException {
         return inputStream.readDouble();
     }
 
+    @Override
     public String readUTF() throws IOException {
         return inputStream.readUTF();
     }
 
+    @Override
     public byte[] readBytes() throws IOException {
         int len = inputStream.readInt();
         if (len < 0) {
diff --git a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaObjectOutput.java b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaObjectOutput.java
index 23a7ae02a5..35b8617030 100644
--- a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaObjectOutput.java
+++ b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaObjectOutput.java
@@ -41,42 +41,52 @@ protected ObjectOutputStream getObjectOutputStream() {
         return outputStream;
     }
 
+    @Override
     public void writeObject(Object obj) throws IOException {
         outputStream.writeObject(obj);
     }
 
+    @Override
     public void writeBool(boolean v) throws IOException {
         outputStream.writeBoolean(v);
     }
 
+    @Override
     public void writeByte(byte v) throws IOException {
         outputStream.writeByte(v);
     }
 
+    @Override
     public void writeShort(short v) throws IOException {
         outputStream.writeShort(v);
     }
 
+    @Override
     public void writeInt(int v) throws IOException {
         outputStream.writeInt(v);
     }
 
+    @Override
     public void writeLong(long v) throws IOException {
         outputStream.writeLong(v);
     }
 
+    @Override
     public void writeFloat(float v) throws IOException {
         outputStream.writeFloat(v);
     }
 
+    @Override
     public void writeDouble(double v) throws IOException {
         outputStream.writeDouble(v);
     }
 
+    @Override
     public void writeUTF(String v) throws IOException {
         outputStream.writeUTF(v);
     }
 
+    @Override
     public void writeBytes(byte[] v) throws IOException {
         if (v == null) {
             outputStream.writeInt(-1);
@@ -85,6 +95,7 @@ public void writeBytes(byte[] v) throws IOException {
         }
     }
 
+    @Override
     public void writeBytes(byte[] v, int off, int len) throws IOException {
         if (v == null) {
             outputStream.writeInt(-1);
@@ -94,6 +105,7 @@ public void writeBytes(byte[] v, int off, int len) throws IOException {
         }
     }
 
+    @Override
     public void flushBuffer() throws IOException {
         outputStream.flush();
     }
diff --git a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaSerialization.java b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaSerialization.java
index 32656a44df..cf61f8a2ef 100644
--- a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaSerialization.java
+++ b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/com/alibaba/dubbo/common/serialize/nativejava/NativeJavaSerialization.java
@@ -30,18 +30,22 @@
 
     public static final String NAME = "nativejava";
 
+    @Override
     public byte getContentTypeId() {
         return 7;
     }
 
+    @Override
     public String getContentType() {
         return "x-application/nativejava";
     }
 
+    @Override
     public ObjectOutput serialize(URL url, OutputStream output) throws IOException {
         return new NativeJavaObjectOutput(output);
     }
 
+    @Override
     public ObjectInput deserialize(URL url, InputStream input) throws IOException {
         return new NativeJavaObjectInput(input);
     }
diff --git a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoObjectInput.java b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoObjectInput.java
index 3861c5ec34..f24decf4a7 100644
--- a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoObjectInput.java
+++ b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoObjectInput.java
@@ -38,6 +38,7 @@ public KryoObjectInput(InputStream inputStream) {
         this.kryo = KryoUtils.get();
     }
 
+    @Override
     public boolean readBool() throws IOException {
         try {
             return input.readBoolean();
@@ -46,6 +47,7 @@ public boolean readBool() throws IOException {
         }
     }
 
+    @Override
     public byte readByte() throws IOException {
         try {
             return input.readByte();
@@ -54,6 +56,7 @@ public byte readByte() throws IOException {
         }
     }
 
+    @Override
     public short readShort() throws IOException {
         try {
             return input.readShort();
@@ -62,6 +65,7 @@ public short readShort() throws IOException {
         }
     }
 
+    @Override
     public int readInt() throws IOException {
         try {
             return input.readInt();
@@ -70,6 +74,7 @@ public int readInt() throws IOException {
         }
     }
 
+    @Override
     public long readLong() throws IOException {
         try {
             return input.readLong();
@@ -78,6 +83,7 @@ public long readLong() throws IOException {
         }
     }
 
+    @Override
     public float readFloat() throws IOException {
         try {
             return input.readFloat();
@@ -86,6 +92,7 @@ public float readFloat() throws IOException {
         }
     }
 
+    @Override
     public double readDouble() throws IOException {
         try {
             return input.readDouble();
@@ -94,6 +101,7 @@ public double readDouble() throws IOException {
         }
     }
 
+    @Override
     public byte[] readBytes() throws IOException {
         try {
             int len = input.readInt();
@@ -109,6 +117,7 @@ public double readDouble() throws IOException {
         }
     }
 
+    @Override
     public String readUTF() throws IOException {
         try {
             return input.readString();
@@ -117,6 +126,7 @@ public String readUTF() throws IOException {
         }
     }
 
+    @Override
     public Object readObject() throws IOException, ClassNotFoundException {
         // TODO optimization
         try {
@@ -127,20 +137,23 @@ public Object readObject() throws IOException, ClassNotFoundException {
     }
 
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T readObject(Class<T> clazz) throws IOException, ClassNotFoundException {
         // TODO optimization
         return (T) readObject();
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public <T> T readObject(Class<T> clazz, Type type) throws IOException, ClassNotFoundException {
         // TODO optimization
         return readObject(clazz);
     }
 
+    @Override
     public void cleanup() {
         KryoUtils.release(kryo);
         kryo = null;
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoObjectOutput.java b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoObjectOutput.java
index e71ea520c7..91cbb5c9d7 100644
--- a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoObjectOutput.java
+++ b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoObjectOutput.java
@@ -36,34 +36,42 @@ public KryoObjectOutput(OutputStream outputStream) {
         this.kryo = KryoUtils.get();
     }
 
+    @Override
     public void writeBool(boolean v) throws IOException {
         output.writeBoolean(v);
     }
 
+    @Override
     public void writeByte(byte v) throws IOException {
         output.writeByte(v);
     }
 
+    @Override
     public void writeShort(short v) throws IOException {
         output.writeShort(v);
     }
 
+    @Override
     public void writeInt(int v) throws IOException {
         output.writeInt(v);
     }
 
+    @Override
     public void writeLong(long v) throws IOException {
         output.writeLong(v);
     }
 
+    @Override
     public void writeFloat(float v) throws IOException {
         output.writeFloat(v);
     }
 
+    @Override
     public void writeDouble(double v) throws IOException {
         output.writeDouble(v);
     }
 
+    @Override
     public void writeBytes(byte[] v) throws IOException {
         if (v == null) {
             output.writeInt(-1);
@@ -72,6 +80,7 @@ public void writeBytes(byte[] v) throws IOException {
         }
     }
 
+    @Override
     public void writeBytes(byte[] v, int off, int len) throws IOException {
         if (v == null) {
             output.writeInt(-1);
@@ -82,21 +91,25 @@ public void writeBytes(byte[] v, int off, int len) throws IOException {
     }
 
 
+    @Override
     public void writeUTF(String v) throws IOException {
         output.writeString(v);
     }
 
+    @Override
     public void writeObject(Object v) throws IOException {
         // TODO carries class info every time.
         kryo.writeClassAndObject(output, v);
     }
 
+    @Override
     public void flushBuffer() throws IOException {
         output.flush();
     }
 
+    @Override
     public void cleanup() {
         KryoUtils.release(kryo);
         kryo = null;
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoSerialization.java b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoSerialization.java
index 2069718075..bc64331b89 100644
--- a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoSerialization.java
+++ b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/KryoSerialization.java
@@ -31,19 +31,23 @@
  */
 public class KryoSerialization implements Serialization {
 
+    @Override
     public byte getContentTypeId() {
         return 8;
     }
 
+    @Override
     public String getContentType() {
         return "x-application/kryo";
     }
 
+    @Override
     public ObjectOutput serialize(URL url, OutputStream out) throws IOException {
         return new KryoObjectOutput(out);
     }
 
+    @Override
     public ObjectInput deserialize(URL url, InputStream is) throws IOException {
         return new KryoObjectInput(is);
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/AbstractKryoFactory.java b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/AbstractKryoFactory.java
index 562f874efd..bcde92aae6 100644
--- a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/AbstractKryoFactory.java
+++ b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/AbstractKryoFactory.java
@@ -80,6 +80,7 @@ public void registerClass(Class clazz) {
         registrations.add(clazz);
     }
 
+    @Override
     public Kryo create() {
         if (!kryoCreated) {
             kryoCreated = true;
diff --git a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/PrototypeKryoFactory.java b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/PrototypeKryoFactory.java
index 7f1d94f629..a32c4b592f 100644
--- a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/PrototypeKryoFactory.java
+++ b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/PrototypeKryoFactory.java
@@ -25,6 +25,7 @@ public void returnKryo(Kryo kryo) {
         // do nothing
     }
 
+    @Override
     public Kryo getKryo() {
         return create();
     }
diff --git a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/ThreadLocalKryoFactory.java b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/ThreadLocalKryoFactory.java
index 76b3d50a78..17392cecf3 100644
--- a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/ThreadLocalKryoFactory.java
+++ b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/com/alibaba/dubbo/common/serialize/kryo/utils/ThreadLocalKryoFactory.java
@@ -32,6 +32,7 @@ public void returnKryo(Kryo kryo) {
         // do nothing
     }
 
+    @Override
     public Kryo getKryo() {
         return holder.get();
     }
diff --git a/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/AbstractBenchmarkServer.java b/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/AbstractBenchmarkServer.java
index 115091ab7f..4baa986ff1 100644
--- a/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/AbstractBenchmarkServer.java
+++ b/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/AbstractBenchmarkServer.java
@@ -55,6 +55,7 @@ public void run(String[] args) throws Exception {
         url.append(maxThreads);
         Exchangers.bind(url.toString(), new ExchangeHandlerAdapter() {
 
+            @Override
             public Object reply(ExchangeChannel channel, Object message) throws RemotingException {
                 return new ResponseObject(responseSize); // send response
             }
diff --git a/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/AbstractClientRunnable.java b/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/AbstractClientRunnable.java
index c3897a5452..16a2e69675 100644
--- a/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/AbstractClientRunnable.java
+++ b/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/AbstractClientRunnable.java
@@ -87,6 +87,7 @@ public AbstractClientRunnable(String targetIP, int targetPort, int clientNums, i
         }
     }
 
+    @Override
     public void run() {
         try {
             barrier.await();
@@ -148,6 +149,7 @@ private void runJavaAndHessian() {
 
     public abstract Object invoke(ServiceFactory<?> serviceFactory);
 
+    @Override
     public List<long[]> getResults() {
         List<long[]> results = new ArrayList<long[]>();
         results.add(responseSpreads);
diff --git a/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/DemoServiceImpl.java b/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/DemoServiceImpl.java
index dd7809f4f4..dc35e3a383 100644
--- a/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/DemoServiceImpl.java
+++ b/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/DemoServiceImpl.java
@@ -23,6 +23,7 @@
 public class DemoServiceImpl implements DemoService {
     ResponseObject responseObject = new ResponseObject(100);
 
+    @Override
     public Object sendRequest(Object request) {
         return request;
     }
diff --git a/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/ExchangeClientFactory.java b/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/ExchangeClientFactory.java
index ef2008f12c..2cf95c7243 100644
--- a/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/ExchangeClientFactory.java
+++ b/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/ExchangeClientFactory.java
@@ -56,6 +56,7 @@ public ExchangeClient get(final String targetIP, final int targetPort, final int
             FutureTask<List<ExchangeClient>> task = new FutureTask<List<ExchangeClient>>(
                     new Callable<List<ExchangeClient>>() {
 
+                        @Override
                         public List<ExchangeClient> call()
                                 throws Exception {
                             List<ExchangeClient> clients = new ArrayList<ExchangeClient>(
diff --git a/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/SimpleProcessorBenchmarkClientRunnable.java b/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/SimpleProcessorBenchmarkClientRunnable.java
index 2aa4be50d9..ce10579910 100644
--- a/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/SimpleProcessorBenchmarkClientRunnable.java
+++ b/dubbo-test/dubbo-test-benchmark/src/main/java/com/alibaba/dubbo/rpc/benchmark/SimpleProcessorBenchmarkClientRunnable.java
@@ -98,6 +98,7 @@ public SimpleProcessorBenchmarkClientRunnable(String targetIP, int targetPort, i
         }
     }
 
+    @Override
     public void run() {
         try {
             barrier.await();
@@ -159,6 +160,7 @@ private void runJavaAndHessian() {
         }
     }
 
+    @Override
     public List<long[]> getResults() {
         List<long[]> results = new ArrayList<long[]>();
         results.add(responseSpreads);
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/annotation/impl/AnnotationServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/annotation/impl/AnnotationServiceImpl.java
index 947b2681d5..2a84989202 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/annotation/impl/AnnotationServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/annotation/impl/AnnotationServiceImpl.java
@@ -25,9 +25,10 @@
 @Service
 public class AnnotationServiceImpl implements AnnotationService {
 
+    @Override
     public String sayHello(String name) {
         System.out.println("async provider received: " + name);
         return "annotation: hello, " + name;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/async/AsyncConsumer.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/async/AsyncConsumer.java
index fc74107c3b..fe224ebc2c 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/async/AsyncConsumer.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/async/AsyncConsumer.java
@@ -37,6 +37,7 @@ public static void main(String[] args) throws Exception {
         final AsyncService asyncService = (AsyncService) context.getBean("asyncService");
 
         Future<String> f = RpcContext.getContext().asyncCall(new Callable<String>() {
+            @Override
             public String call() throws Exception {
                 return asyncService.sayHello("async call request");
             }
@@ -45,6 +46,7 @@ public String call() throws Exception {
         System.out.println("async call ret :" + f.get());
 
         RpcContext.getContext().asyncCall(new Runnable() {
+            @Override
             public void run() {
                 asyncService.sayHello("oneway call request1");
                 asyncService.sayHello("oneway call request2");
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/async/impl/AsyncServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/async/impl/AsyncServiceImpl.java
index 7404abb684..af724e3e2f 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/async/impl/AsyncServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/async/impl/AsyncServiceImpl.java
@@ -23,9 +23,10 @@
  */
 public class AsyncServiceImpl implements AsyncService {
 
+    @Override
     public String sayHello(String name) {
         System.out.println("async provider received: " + name);
         return "hello, " + name;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/cache/impl/CacheServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/cache/impl/CacheServiceImpl.java
index 4969874544..7b20d8071a 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/cache/impl/CacheServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/cache/impl/CacheServiceImpl.java
@@ -27,6 +27,7 @@
 
     private final AtomicInteger i = new AtomicInteger();
 
+    @Override
     public String findCache(String id) {
         return "request: " + id + ", response: " + i.getAndIncrement();
     }
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback/CallbackConsumer.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback/CallbackConsumer.java
index 7a5fa79c42..743b476028 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback/CallbackConsumer.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback/CallbackConsumer.java
@@ -32,6 +32,7 @@ public static void main(String[] args) throws Exception {
         context.start();
         CallbackService callbackService = (CallbackService) context.getBean("callbackService");
         callbackService.addListener("foo.bar", new CallbackListener() {
+            @Override
             public void changed(String msg) {
                 System.out.println("callback1:" + msg);
             }
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback/impl/CallbackServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback/impl/CallbackServiceImpl.java
index c0db27ec21..8912ae778f 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback/impl/CallbackServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback/impl/CallbackServiceImpl.java
@@ -33,6 +33,7 @@
 
     public CallbackServiceImpl() {
         Thread t = new Thread(new Runnable() {
+            @Override
             public void run() {
                 while (true) {
                     try {
@@ -54,6 +55,7 @@ public void run() {
         t.start();
     }
 
+    @Override
     public void addListener(String key, CallbackListener listener) {
         listeners.put(key, listener);
         listener.changed(getChanged(key)); // send notification for change
@@ -63,4 +65,4 @@ private String getChanged(String key) {
         return "Changed: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/generic/impl/UserServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/generic/impl/UserServiceImpl.java
index 4a71985019..92cf923137 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/generic/impl/UserServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/generic/impl/UserServiceImpl.java
@@ -20,6 +20,7 @@
 
 public class UserServiceImpl implements IUserService {
 
+    @Override
     public User get(Params params) {
         return new User(1, "charles");
     }
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/HeartbeatClient.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/HeartbeatClient.java
index 9a03b11abc..3f678b734e 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/HeartbeatClient.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/HeartbeatClient.java
@@ -50,6 +50,7 @@ public static void main(String[] args) throws Exception {
 
         Thread serverThread = new Thread(new Runnable() {
 
+            @Override
             public void run() {
                 try {
                     exchangeServer = new HeaderExchangeServer(
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/HeartbeatServer.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/HeartbeatServer.java
index 611c15d2f0..b11f0f18d8 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/HeartbeatServer.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/HeartbeatServer.java
@@ -50,6 +50,7 @@ public static void main(String[] args) throws Exception {
 
         Thread serverThread = new Thread(new Runnable() {
 
+            @Override
             public void run() {
                 try {
                     exchangeServer = new HeaderExchangeServer(
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/impl/HelloServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/impl/HelloServiceImpl.java
index a49e63f3af..4927c3a820 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/impl/HelloServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/heartbeat/impl/HelloServiceImpl.java
@@ -20,6 +20,7 @@
 
 public class HelloServiceImpl implements HelloService {
 
+    @Override
     public String sayHello(String name) {
         return new StringBuilder(32).append("Hello, ").append(name).append("!").toString();
     }
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl.java
index 723d1851ad..a675066cf8 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl.java
@@ -26,6 +26,7 @@
  */
 public class MergeServiceImpl implements MergeService {
 
+    @Override
     public List<String> mergeResult() {
         List<String> menus = new ArrayList<String>();
         menus.add("group-1.1");
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl2.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl2.java
index 4beb7311fa..8ad1b157e1 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl2.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl2.java
@@ -26,6 +26,7 @@
  */
 public class MergeServiceImpl2 implements MergeService {
 
+    @Override
     public List<String> mergeResult() {
         List<String> menus = new ArrayList<String>();
         menus.add("group-2.1");
@@ -33,4 +34,4 @@
         return menus;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl3.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl3.java
index 51e72df402..0ec95a1a42 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl3.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge/impl/MergeServiceImpl3.java
@@ -26,6 +26,7 @@
  */
 public class MergeServiceImpl3 implements MergeService {
 
+    @Override
     public List<String> mergeResult() {
         List<String> menus = new ArrayList<String>();
         menus.add("group-3.1");
@@ -33,4 +34,4 @@
         return menus;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/ClientTraceFilter.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/ClientTraceFilter.java
index 9ebf2c87d3..e207cbb3b9 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/ClientTraceFilter.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/ClientTraceFilter.java
@@ -25,10 +25,12 @@
 
 public class ClientTraceFilter implements ClientRequestFilter, ClientResponseFilter {
 
+    @Override
     public void filter(ClientRequestContext requestContext) throws IOException {
         System.out.println("Client request filter invoked");
     }
 
+    @Override
     public void filter(ClientRequestContext clientRequestContext, ClientResponseContext clientResponseContext) throws IOException {
         System.out.println("Client response filter invoked");
     }
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/CustomExceptionMapper.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/CustomExceptionMapper.java
index 398f1d8a7d..3b7f457fb7 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/CustomExceptionMapper.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/CustomExceptionMapper.java
@@ -24,6 +24,7 @@
 
 public class CustomExceptionMapper implements ExceptionMapper<NotFoundException> {
 
+    @Override
     public Response toResponse(NotFoundException e) {
         System.out.println("Exception mapper successfully got an exception: " + e + ":" + e.getMessage());
         System.out.println("Client IP is " + RpcContext.getContext().getRemoteAddressString());
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/DynamicTraceBinding.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/DynamicTraceBinding.java
index 516f83ec76..93593aa733 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/DynamicTraceBinding.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/DynamicTraceBinding.java
@@ -22,7 +22,8 @@
 
 public class DynamicTraceBinding implements DynamicFeature {
 
+    @Override
     public void configure(ResourceInfo resourceInfo, FeatureContext context) {
         context.register(DynamicTraceInterceptor.class);
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/DynamicTraceInterceptor.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/DynamicTraceInterceptor.java
index 47f7a71e11..77f7318145 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/DynamicTraceInterceptor.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/DynamicTraceInterceptor.java
@@ -28,11 +28,13 @@
 @Priority(Priorities.USER)
 public class DynamicTraceInterceptor implements ReaderInterceptor, WriterInterceptor {
 
+    @Override
     public Object aroundReadFrom(ReaderInterceptorContext readerInterceptorContext) throws IOException, WebApplicationException {
         System.out.println("Dynamic reader interceptor invoked");
         return readerInterceptorContext.proceed();
     }
 
+    @Override
     public void aroundWriteTo(WriterInterceptorContext writerInterceptorContext) throws IOException, WebApplicationException {
         System.out.println("Dynamic writer interceptor invoked");
         writerInterceptorContext.proceed();
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/LogFilter.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/LogFilter.java
index cbde2dffb8..c3aed43095 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/LogFilter.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/LogFilter.java
@@ -23,6 +23,7 @@
 import com.alibaba.dubbo.rpc.RpcException;
 
 public class LogFilter implements Filter {
+    @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         System.out.println(invocation.getMethodName() + "is invoked");
         return invoker.invoke(invocation);
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/TraceFilter.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/TraceFilter.java
index 57f0158d23..d01d016f75 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/TraceFilter.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/TraceFilter.java
@@ -27,12 +27,14 @@
 @Priority(Priorities.USER)
 public class TraceFilter implements ContainerRequestFilter, ContainerResponseFilter {
 
+    @Override
     public void filter(ContainerRequestContext requestContext) throws IOException {
         System.out.println("Request filter invoked: " + requestContext.getUriInfo().getAbsolutePath());
     }
 
+    @Override
     public void filter(ContainerRequestContext containerRequestContext, ContainerResponseContext containerResponseContext) throws IOException {
         System.out.println("Response filter invoked.");
 
     }
-}
\ No newline at end of file
+}
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/TraceInterceptor.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/TraceInterceptor.java
index 5fa723e839..9c54e8aac4 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/TraceInterceptor.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/api/extension/TraceInterceptor.java
@@ -28,11 +28,13 @@
 @Priority(Priorities.USER)
 public class TraceInterceptor implements ReaderInterceptor, WriterInterceptor {
 
+    @Override
     public Object aroundReadFrom(ReaderInterceptorContext readerInterceptorContext) throws IOException, WebApplicationException {
         System.out.println("Reader interceptor invoked");
         return readerInterceptorContext.proceed();
     }
 
+    @Override
     public void aroundWriteTo(WriterInterceptorContext writerInterceptorContext) throws IOException, WebApplicationException {
         System.out.println("Writer interceptor invoked");
         writerInterceptorContext.proceed();
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/UserServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/UserServiceImpl.java
index 5d8538d866..6de02c8d59 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/UserServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/UserServiceImpl.java
@@ -27,11 +27,13 @@
 
     private final AtomicLong idGen = new AtomicLong();
 
+    @Override
     public User getUser(Long id) {
         return new User(id, "username" + id);
     }
 
 
+    @Override
     public Long registerUser(User user) {
 //        System.out.println("Username is " + user.getName());
         return idGen.incrementAndGet();
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/AnnotationDrivenUserRestServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/AnnotationDrivenUserRestServiceImpl.java
index f5ae44f685..e475081c8a 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/AnnotationDrivenUserRestServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/AnnotationDrivenUserRestServiceImpl.java
@@ -48,6 +48,7 @@ public void setUserService(UserService userService) {
         this.userService = userService;
     }
 
+    @Override
     @GET
     @Path("{id : \\d+}")
     public User getUser(@PathParam("id") Long id/*, @Context HttpServletRequest request*/) {
@@ -57,6 +58,7 @@ public User getUser(@PathParam("id") Long id/*, @Context HttpServletRequest requ
         return userService.getUser(id);
     }
 
+    @Override
     @POST
     @Path("register")
     public RegistrationResult registerUser(User user) {
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/AnotherUserRestServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/AnotherUserRestServiceImpl.java
index c669cdc24e..99788466d7 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/AnotherUserRestServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/AnotherUserRestServiceImpl.java
@@ -35,12 +35,14 @@ public void setUserService(UserService userService) {
         this.userService = userService;
     }
 
+    @Override
     public User getUser(Long id) {
         System.out.println("Client name is " + RpcContext.getContext().getAttachment("clientName"));
         System.out.println("Client impl is " + RpcContext.getContext().getAttachment("clientImpl"));
         return userService.getUser(id);
     }
 
+    @Override
     public RegistrationResult registerUser(User user) {
         return new RegistrationResult(userService.registerUser(user));
     }
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/UserRestServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/UserRestServiceImpl.java
index 7e43938305..49fdb469e9 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/UserRestServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/rest/impl/facade/UserRestServiceImpl.java
@@ -51,6 +51,7 @@ public void setUserService(UserService userService) {
         this.userService = userService;
     }
 
+    @Override
     @GET
     @Path("{id : \\d+}")
     public User getUser(@PathParam("id") Long id/*, @Context HttpServletRequest request*/) {
@@ -66,6 +67,7 @@ public User getUser(@PathParam("id") Long id/*, @Context HttpServletRequest requ
         return userService.getUser(id);
     }
 
+    @Override
     @POST
     @Path("register")
     public RegistrationResult registerUser(User user) {
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/validation/impl/ValidationServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/validation/impl/ValidationServiceImpl.java
index 027433b565..051d29f42c 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/validation/impl/ValidationServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/validation/impl/ValidationServiceImpl.java
@@ -24,12 +24,15 @@
  */
 public class ValidationServiceImpl implements ValidationService {
 
+    @Override
     public void save(ValidationParameter parameter) {
     }
 
+    @Override
     public void update(ValidationParameter parameter) {
     }
 
+    @Override
     public void delete(long id, String operator) {
     }
 
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/version/impl/VersionServiceImpl.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/version/impl/VersionServiceImpl.java
index ec93f8398f..00e5a062df 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/version/impl/VersionServiceImpl.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/version/impl/VersionServiceImpl.java
@@ -20,6 +20,7 @@
 
 public class VersionServiceImpl implements VersionService {
 
+    @Override
     public String sayHello(String name) {
         return "hello, " + name;
     }
diff --git a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/version/impl/VersionServiceImpl2.java b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/version/impl/VersionServiceImpl2.java
index 24b4055ef8..adabc99af8 100644
--- a/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/version/impl/VersionServiceImpl2.java
+++ b/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/version/impl/VersionServiceImpl2.java
@@ -20,6 +20,7 @@
 
 public class VersionServiceImpl2 implements VersionService {
 
+    @Override
     public String sayHello(String name) {
         return "hello2, " + name;
     }
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractDeserializer.java
index 08f6da23f0..e3e6c5e9ad 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractDeserializer.java
@@ -54,10 +54,12 @@
  * Deserializing an object.
  */
 abstract public class AbstractDeserializer implements Deserializer {
+    @Override
     public Class getType() {
         return Object.class;
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in)
             throws IOException {
         Object obj = in.readObject();
@@ -70,6 +72,7 @@ public Object readObject(AbstractHessianInput in)
             throw error(className + ": unexpected null value");
     }
 
+    @Override
     public Object readList(AbstractHessianInput in, int length)
             throws IOException {
         throw new UnsupportedOperationException(String.valueOf(this));
@@ -83,6 +86,7 @@ public Object readList(AbstractHessianInput in, int length, Class<?> expectType)
         throw new UnsupportedOperationException(String.valueOf(this));
     }
 
+    @Override
     public Object readLengthList(AbstractHessianInput in, int length)
             throws IOException {
         throw new UnsupportedOperationException(String.valueOf(this));
@@ -96,6 +100,7 @@ public Object readLengthList(AbstractHessianInput in, int length, Class<?> expec
         throw new UnsupportedOperationException(String.valueOf(this));
     }
 
+    @Override
     public Object readMap(AbstractHessianInput in)
             throws IOException {
         Object obj = in.readObject();
@@ -116,6 +121,7 @@ public Object readMap(AbstractHessianInput in, Class<?> expectKeyType, Class<?>
         throw new UnsupportedOperationException(String.valueOf(this));
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in, String[] fieldNames)
             throws IOException {
         throw new UnsupportedOperationException(String.valueOf(this));
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractHessianResolver.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractHessianResolver.java
index cf8ba02d68..72a9822af6 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractHessianResolver.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractHessianResolver.java
@@ -57,6 +57,7 @@
     /**
      * Looks up a proxy object.
      */
+    @Override
     public Object lookup(String type, String url)
             throws IOException {
         return new HessianRemote(type, url);
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractListDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractListDeserializer.java
index c8101d3298..f578d29049 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractListDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractListDeserializer.java
@@ -54,6 +54,7 @@
  * Deserializing a JDK 1.2 Collection.
  */
 public class AbstractListDeserializer extends AbstractDeserializer {
+    @Override
     public Object readObject(AbstractHessianInput in)
             throws IOException {
         Object obj = in.readObject();
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractMapDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractMapDeserializer.java
index 74ee5f7bef..d8543d21fe 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractMapDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractMapDeserializer.java
@@ -56,10 +56,12 @@
  */
 public class AbstractMapDeserializer extends AbstractDeserializer {
 
+    @Override
     public Class getType() {
         return HashMap.class;
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in)
             throws IOException {
         Object obj = in.readObject();
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractSerializer.java
index 48f8cf75bb..088cf256c0 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/AbstractSerializer.java
@@ -58,6 +58,7 @@
     protected static final Logger log
             = Logger.getLogger(AbstractSerializer.class.getName());
 
+    @Override
     abstract public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException;
 }
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ArrayDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ArrayDeserializer.java
index 8c7c715a8f..e575411ba8 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ArrayDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ArrayDeserializer.java
@@ -73,6 +73,7 @@ public ArrayDeserializer(Class componentType) {
             _type = Object[].class;
     }
 
+    @Override
     public Class getType() {
         return _type;
     }
@@ -80,6 +81,7 @@ public Class getType() {
     /**
      * Reads the array.
      */
+    @Override
     public Object readList(AbstractHessianInput in, int length)
             throws IOException {
         if (length >= 0) {
@@ -124,6 +126,7 @@ public Object readList(AbstractHessianInput in, int length)
     /**
      * Reads the array.
      */
+    @Override
     public Object readLengthList(AbstractHessianInput in, int length)
             throws IOException {
         Object[] data = createArray(length);
@@ -148,6 +151,7 @@ public Object readLengthList(AbstractHessianInput in, int length)
             return new Object[length];
     }
 
+    @Override
     public String toString() {
         return "ArrayDeserializer[" + _componentType + "]";
     }
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ArraySerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ArraySerializer.java
index 31d7ca5f98..d6cfcc5cb4 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ArraySerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ArraySerializer.java
@@ -54,6 +54,7 @@
  * Serializing a Java array.
  */
 public class ArraySerializer extends AbstractSerializer {
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         if (out.addRef(obj))
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BasicDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BasicDeserializer.java
index 6b56d90ae7..20c593f38b 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BasicDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BasicDeserializer.java
@@ -88,6 +88,7 @@ public BasicDeserializer(int code) {
         _code = code;
     }
 
+    @Override
     public Class getType() {
         switch (_code) {
             case NULL:
@@ -144,6 +145,7 @@ public Class getType() {
         }
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in)
             throws IOException {
         switch (_code) {
@@ -265,6 +267,7 @@ public Object readObject(AbstractHessianInput in)
         }
     }
 
+    @Override
     public Object readList(AbstractHessianInput in, int length)
             throws IOException {
         switch (_code) {
@@ -509,6 +512,7 @@ public Object readList(AbstractHessianInput in, int length)
         }
     }
 
+    @Override
     public Object readLengthList(AbstractHessianInput in, int length)
             throws IOException {
         switch (_code) {
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BasicSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BasicSerializer.java
index dcaa9aa141..6d5aee9f30 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BasicSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BasicSerializer.java
@@ -87,6 +87,7 @@ public BasicSerializer(int code) {
         this.code = code;
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         switch (code) {
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanDeserializer.java
index 81c60ca857..a0f16c81ca 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanDeserializer.java
@@ -116,10 +116,12 @@ else if (double.class.equals(cl))
             throw new UnsupportedOperationException();
     }
 
+    @Override
     public Class getType() {
         return _type;
     }
 
+    @Override
     public Object readMap(AbstractHessianInput in)
             throws IOException {
         try {
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanSerializer.java
index e663cf6513..a3a8ba5f22 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanSerializer.java
@@ -202,6 +202,7 @@ protected Method getWriteReplace(Class cl, Class param) {
         return null;
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         if (out.addRef(obj))
@@ -301,6 +302,7 @@ private Method findSetter(Method[] methods, String getterName, Class arg) {
     }
 
     static class MethodNameCmp implements Comparator<Method> {
+        @Override
         public int compare(Method a, Method b) {
             return a.getName().compareTo(b.getName());
         }
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanSerializerFactory.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanSerializerFactory.java
index 2625e80198..7c8e328a48 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanSerializerFactory.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/BeanSerializerFactory.java
@@ -60,6 +60,7 @@
      * @param cl the class of the object that needs to be serialized.
      * @return a serializer object for the serialization.
      */
+    @Override
     protected Serializer getDefaultSerializer(Class cl) {
         return new BeanSerializer(cl, getClassLoader());
     }
@@ -72,6 +73,7 @@ protected Serializer getDefaultSerializer(Class cl) {
      * @param cl the class of the object that needs to be serialized.
      * @return a serializer object for the serialization.
      */
+    @Override
     protected Deserializer getDefaultDeserializer(Class cl) {
         return new BeanDeserializer(cl);
     }
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CalendarSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CalendarSerializer.java
index 4ea9f5606b..0db6c14891 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CalendarSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CalendarSerializer.java
@@ -61,6 +61,7 @@ public static CalendarSerializer create() {
         return SERIALIZER;
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         if (obj == null)
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ClassDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ClassDeserializer.java
index 890a9e5785..422333c6a3 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ClassDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ClassDeserializer.java
@@ -85,10 +85,12 @@ public ClassDeserializer(ClassLoader loader) {
         _loader = loader;
     }
 
+    @Override
     public Class getType() {
         return Class.class;
     }
 
+    @Override
     public Object readMap(AbstractHessianInput in)
             throws IOException {
         int ref = in.addRef(null);
@@ -113,6 +115,7 @@ public Object readMap(AbstractHessianInput in)
         return value;
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in, String[] fieldNames)
             throws IOException {
         int ref = in.addRef(null);
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ClassSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ClassSerializer.java
index b65411e5bc..7529e17b60 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ClassSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ClassSerializer.java
@@ -54,6 +54,7 @@
  * Serializing a remote object.
  */
 public class ClassSerializer extends AbstractSerializer {
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         Class cl = (Class) obj;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CollectionDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CollectionDeserializer.java
index f517f54127..2d3390b009 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CollectionDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CollectionDeserializer.java
@@ -67,10 +67,12 @@ public CollectionDeserializer(Class type) {
         _type = type;
     }
 
+    @Override
     public Class getType() {
         return _type;
     }
 
+    @Override
     public Object readList(AbstractHessianInput in, int length)
             throws IOException {
         return readList(in, length, null);
@@ -97,6 +99,7 @@ public Object readList(AbstractHessianInput in, int length, Class<?> expectType)
         return list;
     }
 
+    @Override
     public Object readLengthList(AbstractHessianInput in, int length)
             throws IOException {
         return readList(in, length, null);
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CollectionSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CollectionSerializer.java
index 8d3ef75486..7ede5af026 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CollectionSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/CollectionSerializer.java
@@ -74,6 +74,7 @@ public void setSendJavaType(boolean sendJavaType) {
         _sendJavaType = sendJavaType;
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         if (out.addRef(obj))
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Deflation.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Deflation.java
index e26608e768..11380adede 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Deflation.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Deflation.java
@@ -58,6 +58,7 @@
     public Deflation() {
     }
 
+    @Override
     public Hessian2Output wrap(Hessian2Output out)
             throws IOException {
         OutputStream os = new DeflateOutputStream(out);
@@ -69,6 +70,7 @@ public Hessian2Output wrap(Hessian2Output out)
         return filterOut;
     }
 
+    @Override
     public Hessian2Input unwrap(Hessian2Input in)
             throws IOException {
         int version = in.readEnvelope();
@@ -82,6 +84,7 @@ public Hessian2Input unwrap(Hessian2Input in)
         return unwrapHeaders(in);
     }
 
+    @Override
     public Hessian2Input unwrapHeaders(Hessian2Input in)
             throws IOException {
         InputStream is = new DeflateInputStream(in);
@@ -111,16 +114,19 @@ public Hessian2Input unwrapHeaders(Hessian2Input in)
             _deflateOut = new DeflaterOutputStream(_bodyOut);
         }
 
+        @Override
         public void write(int ch)
                 throws IOException {
             _deflateOut.write(ch);
         }
 
+        @Override
         public void write(byte[] buffer, int offset, int length)
                 throws IOException {
             _deflateOut.write(buffer, offset, length);
         }
 
+        @Override
         public void close()
                 throws IOException {
             Hessian2Output out = _out;
@@ -159,16 +165,19 @@ public void close()
             _inflateIn = new InflaterInputStream(_bodyIn);
         }
 
+        @Override
         public int read()
                 throws IOException {
             return _inflateIn.read();
         }
 
+        @Override
         public int read(byte[] buffer, int offset, int length)
                 throws IOException {
             return _inflateIn.read(buffer, offset, length);
         }
 
+        @Override
         public void close()
                 throws IOException {
             Hessian2Input in = _in;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumDeserializer.java
index 77db082314..d1876a8cbc 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumDeserializer.java
@@ -75,10 +75,12 @@ else if (cl.getSuperclass().isEnum())
         }
     }
 
+    @Override
     public Class getType() {
         return _enumType;
     }
 
+    @Override
     public Object readMap(AbstractHessianInput in)
             throws IOException {
         String name = null;
@@ -101,6 +103,7 @@ public Object readMap(AbstractHessianInput in)
         return obj;
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in, String[] fieldNames)
             throws IOException {
         String name = null;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumSerializer.java
index bddd318102..6ebf1386de 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumSerializer.java
@@ -69,6 +69,7 @@ public EnumSerializer(Class cl) {
         }
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         if (out.addRef(obj))
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumerationDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumerationDeserializer.java
index 912e492d33..b912fa8d21 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumerationDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumerationDeserializer.java
@@ -64,6 +64,7 @@ public static EnumerationDeserializer create() {
         return _deserializer;
     }
 
+    @Override
     public Object readList(AbstractHessianInput in, int length)
             throws IOException {
         Vector list = new Vector();
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumerationSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumerationSerializer.java
index aa8d25c4bc..0665132d5d 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumerationSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/EnumerationSerializer.java
@@ -64,6 +64,7 @@ public static EnumerationSerializer create() {
         return _serializer;
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         Enumeration iter = (Enumeration) obj;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ExtSerializerFactory.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ExtSerializerFactory.java
index 81be614d6d..1b11a447df 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ExtSerializerFactory.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ExtSerializerFactory.java
@@ -83,6 +83,7 @@ public void addDeserializer(Class cl, Deserializer deserializer) {
      * @param cl the class of the object that needs to be serialized.
      * @return a serializer object for the serialization.
      */
+    @Override
     public Serializer getSerializer(Class cl)
             throws HessianProtocolException {
         return (Serializer) _serializerMap.get(cl);
@@ -94,6 +95,7 @@ public Serializer getSerializer(Class cl)
      * @param cl the class of the object that needs to be deserialized.
      * @return a deserializer object for the serialization.
      */
+    @Override
     public Deserializer getDeserializer(Class cl)
             throws HessianProtocolException {
         return (Deserializer) _deserializerMap.get(cl);
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Input.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Input.java
index 395399e64e..268c6993d8 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Input.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Input.java
@@ -145,6 +145,7 @@ public SerializerFactory getSerializerFactory() {
     /**
      * Sets the serializer factory.
      */
+    @Override
     public void setSerializerFactory(SerializerFactory factory) {
         _serializerFactory = factory;
     }
@@ -172,6 +173,7 @@ public void setCloseStreamOnClose(boolean isClose) {
     /**
      * Returns the calls method
      */
+    @Override
     public String getMethod() {
         return _method;
     }
@@ -190,6 +192,7 @@ public Throwable getReplyFault() {
      * c major minor
      * </pre>
      */
+    @Override
     public int readCall()
             throws IOException {
         int tag = read();
@@ -253,6 +256,7 @@ public void completeEnvelope()
      * string
      * </pre>
      */
+    @Override
     public String readMethod()
             throws IOException {
         _method = readString();
@@ -283,6 +287,7 @@ public int readMethodArgLength()
      * m b16 b8 method
      * </pre>
      */
+    @Override
     public void startCall()
             throws IOException {
         readCall();
@@ -298,6 +303,7 @@ public void startCall()
      * <pre>
      * </pre>
      */
+    @Override
     public void completeCall()
             throws IOException {
     }
@@ -345,6 +351,7 @@ else if (tag == 'F') {
      * r
      * </pre>
      */
+    @Override
     public void startReply()
             throws Throwable {
         // XXX: for variable length (?)
@@ -389,6 +396,7 @@ private Throwable prepareFault(HashMap fault)
      * z
      * </pre>
      */
+    @Override
     public void completeReply()
             throws IOException {
     }
@@ -417,6 +425,7 @@ public void completeValueReply()
      * H b16 b8 value
      * </pre>
      */
+    @Override
     public String readHeader()
             throws IOException {
         return null;
@@ -470,6 +479,7 @@ public void completeMessage()
      * N
      * </pre>
      */
+    @Override
     public void readNull()
             throws IOException {
         int tag = read();
@@ -491,6 +501,7 @@ public void readNull()
      * F
      * </pre>
      */
+    @Override
     public boolean readBoolean()
             throws IOException {
         int tag = _offset < _length ? (_buffer[_offset++] & 0xff) : read();
@@ -737,6 +748,7 @@ public short readShort()
      * I b32 b24 b16 b8
      * </pre>
      */
+    @Override
     public final int readInt()
             throws IOException {
         //int tag = _offset < _length ? (_buffer[_offset++] & 0xff) : read();
@@ -956,6 +968,7 @@ public final int readInt()
      * L b64 b56 b48 b40 b32 b24 b16 b8
      * </pre>
      */
+    @Override
     public long readLong()
             throws IOException {
         int tag = read();
@@ -1183,6 +1196,7 @@ public float readFloat()
      * D b64 b56 b48 b40 b32 b24 b16 b8
      * </pre>
      */
+    @Override
     public double readDouble()
             throws IOException {
         int tag = read();
@@ -1395,6 +1409,7 @@ public double readDouble()
      * T b64 b56 b48 b40 b32 b24 b16 b8
      * </pre>
      */
+    @Override
     public long readUTCDate()
             throws IOException {
         int tag = read();
@@ -1561,6 +1576,7 @@ else if (_chunkLength > 0 || !_isLastChunk)
      * S b16 b8 string value
      * </pre>
      */
+    @Override
     public String readString()
             throws IOException {
         int tag = read();
@@ -1846,6 +1862,7 @@ public String readString()
      * B b16 b8 data value
      * </pre>
      */
+    @Override
     public byte[] readBytes()
             throws IOException {
         int tag = read();
@@ -2052,6 +2069,7 @@ private HashMap readFault()
     /**
      * Reads an object from the input stream with an expected type.
      */
+    @Override
     public Object readObject(Class cl)
             throws IOException {
         return readObject(cl, null, null);
@@ -2255,6 +2273,7 @@ public Object readObject(Class expectedClass, Class<?>... expectedTypes) throws
      * Reads an arbitrary object from the input stream when the type
      * is unknown.
      */
+    @Override
     public Object readObject()
             throws IOException {
         return readObject((List<Class<?>>) null);
@@ -2823,6 +2842,7 @@ private String readLenString(int len)
     /**
      * Reads a remote object.
      */
+    @Override
     public Object readRemote()
             throws IOException {
         String type = readType();
@@ -2834,6 +2854,7 @@ public Object readRemote()
     /**
      * Reads a reference.
      */
+    @Override
     public Object readRef()
             throws IOException {
         return _refs.get(parseInt());
@@ -2842,6 +2863,7 @@ public Object readRef()
     /**
      * Reads the start of a list.
      */
+    @Override
     public int readListStart()
             throws IOException {
         return read();
@@ -2850,6 +2872,7 @@ public int readListStart()
     /**
      * Reads the start of a list.
      */
+    @Override
     public int readMapStart()
             throws IOException {
         return read();
@@ -2858,6 +2881,7 @@ public int readMapStart()
     /**
      * Returns true if this is the end of a list or a map.
      */
+    @Override
     public boolean isEnd()
             throws IOException {
         int code;
@@ -2877,6 +2901,7 @@ public boolean isEnd()
     /**
      * Reads the end byte.
      */
+    @Override
     public void readEnd()
             throws IOException {
         int code = _offset < _length ? (_buffer[_offset++] & 0xff) : read();
@@ -2892,6 +2917,7 @@ else if (code < 0)
     /**
      * Reads the end byte.
      */
+    @Override
     public void readMapEnd()
             throws IOException {
         int code = _offset < _length ? (_buffer[_offset++] & 0xff) : read();
@@ -2903,6 +2929,7 @@ public void readMapEnd()
     /**
      * Reads the end byte.
      */
+    @Override
     public void readListEnd()
             throws IOException {
         int code = _offset < _length ? (_buffer[_offset++] & 0xff) : read();
@@ -2914,6 +2941,7 @@ public void readListEnd()
     /**
      * Adds a list/map reference.
      */
+    @Override
     public int addRef(Object ref) {
         if (_refs == null)
             _refs = new ArrayList();
@@ -2926,6 +2954,7 @@ public int addRef(Object ref) {
     /**
      * Adds a list/map reference.
      */
+    @Override
     public void setRef(int i, Object ref) {
         _refs.set(i, ref);
     }
@@ -2933,6 +2962,7 @@ public void setRef(int i, Object ref) {
     /**
      * Resets the references for streaming.
      */
+    @Override
     public void resetReferences() {
         if (_refs != null)
             _refs.clear();
@@ -2967,6 +2997,7 @@ public Object resolveRemote(String type, String url)
      * type ::= int
      * </pre>
      */
+    @Override
     public String readType()
             throws IOException {
         int code = _offset < _length ? (_buffer[_offset++] & 0xff) : read();
@@ -3041,6 +3072,7 @@ public String readType()
      * l b32 b24 b16 b8
      * </pre>
      */
+    @Override
     public int readLength()
             throws IOException {
         throw new UnsupportedOperationException();
@@ -3297,6 +3329,7 @@ private int parseByte()
     /**
      * Reads bytes based on an input stream.
      */
+    @Override
     public InputStream readInputStream()
             throws IOException {
         int tag = read();
@@ -3452,6 +3485,7 @@ private final boolean readBuffer()
         return true;
     }
 
+    @Override
     public Reader getReader() {
         return null;
     }
@@ -3496,6 +3530,7 @@ protected IOException error(String message) {
             return new HessianProtocolException(message);
     }
 
+    @Override
     public void close()
             throws IOException {
         InputStream is = _is;
@@ -3528,6 +3563,7 @@ String getType() {
     class ReadInputStream extends InputStream {
         boolean _isClosed = false;
 
+        @Override
         public int read()
                 throws IOException {
             if (_isClosed)
@@ -3540,6 +3576,7 @@ public int read()
             return ch;
         }
 
+        @Override
         public int read(byte[] buffer, int offset, int length)
                 throws IOException {
             if (_isClosed)
@@ -3552,6 +3589,7 @@ public int read(byte[] buffer, int offset, int length)
             return len;
         }
 
+        @Override
         public void close()
                 throws IOException {
             while (read() >= 0) {
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Output.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Output.java
index 10c9d5d7de..3eb98b577b 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Output.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Output.java
@@ -138,6 +138,7 @@ public void call(String method, Object[] args)
      *
      * @param method the method name to call.
      */
+    @Override
     public void startCall(String method, int length)
             throws IOException {
         int offset = _offset;
@@ -165,6 +166,7 @@ public void startCall(String method, int length)
      *
      * @param method the method name to call.
      */
+    @Override
     public void startCall()
             throws IOException {
         flushIfFull();
@@ -221,6 +223,7 @@ public void completeEnvelope()
      *
      * @param method the method name to call.
      */
+    @Override
     public void writeMethod(String method)
             throws IOException {
         writeString(method);
@@ -233,6 +236,7 @@ public void writeMethod(String method)
      * z
      * </pre></code>
      */
+    @Override
     public void completeCall()
             throws IOException {
     /*
@@ -251,6 +255,7 @@ public void completeCall()
      * R
      * </pre>
      */
+    @Override
     public void startReply()
             throws IOException {
         writeVersion();
@@ -277,6 +282,7 @@ public void writeVersion()
      * z
      * </pre>
      */
+    @Override
     public void completeReply()
             throws IOException {
     }
@@ -340,6 +346,7 @@ public void completeMessage()
      *
      * @param code the fault code, a three digit
      */
+    @Override
     public void writeFault(String code, String message, Object detail)
             throws IOException {
         flushIfFull();
@@ -369,6 +376,7 @@ public void writeFault(String code, String message, Object detail)
     /**
      * Writes any object to the output stream.
      */
+    @Override
     public void writeObject(Object object)
             throws IOException {
         if (object == null) {
@@ -395,6 +403,7 @@ public void writeObject(Object object)
      *
      * @return true for variable lists, false for fixed lists
      */
+    @Override
     public boolean writeListBegin(int length, String type)
             throws IOException {
         flushIfFull();
@@ -433,6 +442,7 @@ public boolean writeListBegin(int length, String type)
     /**
      * Writes the tail of the list to the stream for a variable-length list.
      */
+    @Override
     public void writeListEnd()
             throws IOException {
         flushIfFull();
@@ -450,6 +460,7 @@ public void writeListEnd()
      *     ::= H (<value> <value>)* Z
      * </pre></code>
      */
+    @Override
     public void writeMapBegin(String type)
             throws IOException {
         if (SIZE < _offset + 32)
@@ -466,6 +477,7 @@ public void writeMapBegin(String type)
     /**
      * Writes the tail of the map to the stream.
      */
+    @Override
     public void writeMapEnd()
             throws IOException {
         if (SIZE < _offset + 32)
@@ -481,6 +493,7 @@ public void writeMapEnd()
      * C &lt;string> &lt;int> &lt;string>*
      * </pre></code>
      */
+    @Override
     public int writeObjectBegin(String type)
             throws IOException {
         if (_classRefs == null)
@@ -521,6 +534,7 @@ public int writeObjectBegin(String type)
     /**
      * Writes the tail of the class definition to the stream.
      */
+    @Override
     public void writeClassFieldLength(int len)
             throws IOException {
         writeInt(len);
@@ -529,6 +543,7 @@ public void writeClassFieldLength(int len)
     /**
      * Writes the tail of the object definition to the stream.
      */
+    @Override
     public void writeObjectEnd()
             throws IOException {
     }
@@ -575,6 +590,7 @@ private void writeType(String type)
      *
      * @param value the boolean value to write.
      */
+    @Override
     public void writeBoolean(boolean value)
             throws IOException {
         if (SIZE < _offset + 16)
@@ -596,6 +612,7 @@ public void writeBoolean(boolean value)
      *
      * @param value the integer value to write.
      */
+    @Override
     public void writeInt(int value)
             throws IOException {
         int offset = _offset;
@@ -636,6 +653,7 @@ else if (INT_BYTE_MIN <= value && value <= INT_BYTE_MAX) {
      *
      * @param value the long value to write.
      */
+    @Override
     public void writeLong(long value)
             throws IOException {
         int offset = _offset;
@@ -690,6 +708,7 @@ public void writeLong(long value)
      *
      * @param value the double value to write.
      */
+    @Override
     public void writeDouble(double value)
             throws IOException {
         int offset = _offset;
@@ -772,6 +791,7 @@ public void writeDouble(double value)
      *
      * @param time the date in milliseconds from the epoch in UTC
      */
+    @Override
     public void writeUTCDate(long time)
             throws IOException {
         if (SIZE < _offset + 32)
@@ -820,6 +840,7 @@ public void writeUTCDate(long time)
      *
      * @param value the string value to write.
      */
+    @Override
     public void writeNull()
             throws IOException {
         int offset = _offset;
@@ -851,6 +872,7 @@ public void writeNull()
      *
      * @param value the string value to write.
      */
+    @Override
     public void writeString(String value)
             throws IOException {
         int offset = _offset;
@@ -937,6 +959,7 @@ public void writeString(String value)
      *
      * @param value the string value to write.
      */
+    @Override
     public void writeString(char[] buffer, int offset, int length)
             throws IOException {
         if (buffer == null) {
@@ -1001,6 +1024,7 @@ public void writeString(char[] buffer, int offset, int length)
      *
      * @param value the string value to write.
      */
+    @Override
     public void writeBytes(byte[] buffer)
             throws IOException {
         if (buffer == null) {
@@ -1028,6 +1052,7 @@ public void writeBytes(byte[] buffer)
      *
      * @param value the string value to write.
      */
+    @Override
     public void writeBytes(byte[] buffer, int offset, int length)
             throws IOException {
         if (buffer == null) {
@@ -1089,6 +1114,7 @@ public void writeBytes(byte[] buffer, int offset, int length)
      * <code><pre>
      * </pre></code>
      */
+    @Override
     public void writeByteBufferStart()
             throws IOException {
     }
@@ -1100,6 +1126,7 @@ public void writeByteBufferStart()
      * b b16 b18 bytes
      * </pre></code>
      */
+    @Override
     public void writeByteBufferPart(byte[] buffer, int offset, int length)
             throws IOException {
         while (length > 0) {
@@ -1128,6 +1155,7 @@ public void writeByteBufferPart(byte[] buffer, int offset, int length)
      * b b16 b18 bytes
      * </pre></code>
      */
+    @Override
     public void writeByteBufferEnd(byte[] buffer, int offset, int length)
             throws IOException {
         writeBytes(buffer, offset, length);
@@ -1166,6 +1194,7 @@ protected void writeRef(int value)
      *
      * @return true if we're writing a ref.
      */
+    @Override
     public boolean addRef(Object object)
             throws IOException {
         int ref = _refs.get(object);
@@ -1184,6 +1213,7 @@ public boolean addRef(Object object)
     /**
      * Removes a reference.
      */
+    @Override
     public boolean removeRef(Object obj)
             throws IOException {
         if (_refs != null) {
@@ -1197,6 +1227,7 @@ public boolean removeRef(Object obj)
     /**
      * Replaces a reference from one object to another.
      */
+    @Override
     public boolean replaceRef(Object oldRef, Object newRef)
             throws IOException {
         Integer value = (Integer) _refs.remove(oldRef);
@@ -1211,6 +1242,7 @@ public boolean replaceRef(Object oldRef, Object newRef)
     /**
      * Resets the references for streaming.
      */
+    @Override
     public void resetReferences() {
         if (_refs != null)
             _refs.clear();
@@ -1377,6 +1409,7 @@ private final void flushIfFull()
         }
     }
 
+    @Override
     public final void flush()
             throws IOException {
         flushBuffer();
@@ -1404,6 +1437,7 @@ public final void flushBuffer()
         }
     }
 
+    @Override
     public final void close()
             throws IOException {
         // hessian/3a8c
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2StreamingInput.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2StreamingInput.java
index d935529368..ebf8b779bd 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2StreamingInput.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2StreamingInput.java
@@ -91,6 +91,7 @@ public void close()
             _is = is;
         }
 
+        @Override
         public int read()
                 throws IOException {
             InputStream is = _is;
@@ -117,6 +118,7 @@ else if (code != 'p' && code != 'P')
             return is.read();
         }
 
+        @Override
         public int read(byte[] buffer, int offset, int length)
                 throws IOException {
             InputStream is = _is;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugInputStream.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugInputStream.java
index 0485dde99a..092fa22822 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugInputStream.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugInputStream.java
@@ -89,6 +89,7 @@ public void startTop2() {
     /**
      * Reads a character.
      */
+    @Override
     public int read()
             throws IOException {
         int ch;
@@ -109,6 +110,7 @@ public int read()
     /**
      * closes the stream.
      */
+    @Override
     public void close()
             throws IOException {
         InputStream is = _is;
@@ -138,6 +140,7 @@ public void write(char ch) {
                 _sb.append((char) ch);
         }
 
+        @Override
         public void write(char[] buffer, int offset, int length) {
             for (int i = 0; i < length; i++) {
                 char ch = buffer[offset + i];
@@ -150,9 +153,11 @@ public void write(char[] buffer, int offset, int length) {
             }
         }
 
+        @Override
         public void flush() {
         }
 
+        @Override
         public void close() {
         }
     }
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugOutputStream.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugOutputStream.java
index 4e602465ff..5d45d930e0 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugOutputStream.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugOutputStream.java
@@ -86,6 +86,7 @@ public void startTop2() {
     /**
      * Writes a character.
      */
+    @Override
     public void write(int ch)
             throws IOException {
         ch = ch & 0xff;
@@ -95,6 +96,7 @@ public void write(int ch)
         _state.next(ch);
     }
 
+    @Override
     public void flush()
             throws IOException {
         _os.flush();
@@ -103,6 +105,7 @@ public void flush()
     /**
      * closes the stream.
      */
+    @Override
     public void close()
             throws IOException {
         OutputStream os = _os;
@@ -132,6 +135,7 @@ public void write(char ch) {
                 _sb.append((char) ch);
         }
 
+        @Override
         public void write(char[] buffer, int offset, int length) {
             for (int i = 0; i < length; i++) {
                 char ch = buffer[offset + i];
@@ -144,9 +148,11 @@ public void write(char[] buffer, int offset, int length) {
             }
         }
 
+        @Override
         public void flush() {
         }
 
+        @Override
         public void close() {
         }
     }
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugState.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugState.java
index 790796278d..0798289070 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugState.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianDebugState.java
@@ -782,6 +782,7 @@ protected State nextObject(int ch) {
     }
 
     class InitialState extends State {
+        @Override
         State next(int ch) {
             println();
 
@@ -795,6 +796,7 @@ State next(int ch) {
     }
 
     class Top2State extends State {
+        @Override
         State next(int ch) {
             println();
 
@@ -836,6 +838,7 @@ State next(int ch) {
             _length = length;
         }
 
+        @Override
         State next(int ch) {
             _value = 256 * _value + (ch & 0xff);
 
@@ -875,6 +878,7 @@ State next(int ch) {
             _length = length;
         }
 
+        @Override
         State next(int ch) {
             _value = 256 * _value + (ch & 0xff);
 
@@ -904,6 +908,7 @@ State next(int ch) {
             _length = length;
         }
 
+        @Override
         State next(int ch) {
             if (_isFirst)
                 _value = (byte) ch;
@@ -987,6 +992,7 @@ State next(int ch) {
         }
 
 
+        @Override
         State next(int ch) {
             _value = 256 * _value + (ch & 0xff);
 
@@ -1018,6 +1024,7 @@ State next(int ch) {
             super(next);
         }
 
+        @Override
         State next(int ch) {
             _value = 256 * _value + (ch & 0xff);
 
@@ -1044,6 +1051,7 @@ State next(int ch) {
             super(next);
         }
 
+        @Override
         State next(int ch) {
             _value = 256 * _value + (ch & 0xff);
 
@@ -1103,6 +1111,7 @@ State next(int ch) {
             _lengthIndex = 1;
         }
 
+        @Override
         State next(int ch) {
             if (_lengthIndex < 2) {
                 _length = 256 * _length + (ch & 0xff);
@@ -1224,6 +1233,7 @@ State next(int ch) {
             _lengthIndex = 1;
         }
 
+        @Override
         State next(int ch) {
             if (_lengthIndex < 2) {
                 _length = 256 * _length + (ch & 0xff);
@@ -1353,6 +1363,7 @@ else if (_state == KEY)
                 return _valueDepth;
         }
 
+        @Override
         State next(int ch) {
             switch (_state) {
                 case TYPE:
@@ -1455,6 +1466,7 @@ int depth() {
                 return _next.depth() + 2;
         }
 
+        @Override
         State next(int ch) {
             switch (_state) {
                 case TYPE:
@@ -1545,6 +1557,7 @@ int depth() {
                 return _fieldDepth;
         }
 
+        @Override
         State next(int ch) {
             switch (_state) {
                 case TYPE:
@@ -1638,6 +1651,7 @@ else if (_state == VALUE)
                 return _next.depth() + 2;
         }
 
+        @Override
         State next(int ch) {
             switch (_state) {
                 case TYPE:
@@ -1768,6 +1782,7 @@ else if (_state == VALUE)
                 return _next.depth() + 2;
         }
 
+        @Override
         State next(int ch) {
             switch (_state) {
                 case TYPE:
@@ -1807,10 +1822,12 @@ State next(int ch) {
             super(next);
         }
 
+        @Override
         int depth() {
             return _next.depth() + 2;
         }
 
+        @Override
         State next(int ch) {
             switch (_state) {
                 case MAJOR:
@@ -1845,10 +1862,12 @@ State next(int ch) {
             super(next);
         }
 
+        @Override
         int depth() {
             return _next.depth() + 2;
         }
 
+        @Override
         State next(int ch) {
             switch (_state) {
                 case MAJOR:
@@ -1911,6 +1930,7 @@ State next(int ch) {
             super(next);
         }
 
+        @Override
         int depth() {
             return _next.depth() + 5;
         }
@@ -1982,10 +2002,12 @@ State next(int ch) {
             _next = next;
         }
 
+        @Override
         int depth() {
             return _next.depth() + 2;
         }
 
+        @Override
         State next(int ch) {
             switch (_state) {
                 case MAJOR:
@@ -2040,6 +2062,7 @@ State next(int ch) {
             println(-2, "Reply");
         }
 
+        @Override
         int depth() {
             return _next.depth() + 2;
         }
@@ -2057,6 +2080,7 @@ State next(int ch) {
             println(-2, "Fault");
         }
 
+        @Override
         int depth() {
             return _next.depth() + 2;
         }
@@ -2072,14 +2096,17 @@ State next(int ch) {
             super(next);
         }
 
+        @Override
         boolean isShift(Object object) {
             return _next.isShift(object);
         }
 
+        @Override
         State shift(Object object) {
             return _next.shift(object);
         }
 
+        @Override
         State next(int ch) {
             return nextObject(ch);
         }
@@ -2098,6 +2125,7 @@ State next(int ch) {
             super(next);
         }
 
+        @Override
         State next(int ch) {
             switch (_state) {
                 case TYPE:
@@ -2138,6 +2166,7 @@ State next(int ch) {
             _childState = new InitialState();
         }
 
+        @Override
         State next(int ch) {
             if (_digit < 2) {
                 _length = 256 * _length + ch;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianInput.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianInput.java
index 62bb50047c..c71f310148 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianInput.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianInput.java
@@ -130,6 +130,7 @@ public SerializerFactory getSerializerFactory() {
     /**
      * Sets the serializer factory.
      */
+    @Override
     public void setSerializerFactory(SerializerFactory factory) {
         _serializerFactory = factory;
     }
@@ -137,6 +138,7 @@ public void setSerializerFactory(SerializerFactory factory) {
     /**
      * Initialize the hessian stream with the underlying input stream.
      */
+    @Override
     public void init(InputStream is) {
         _is = is;
         _method = null;
@@ -153,6 +155,7 @@ public void init(InputStream is) {
     /**
      * Returns the calls method
      */
+    @Override
     public String getMethod() {
         return _method;
     }
@@ -171,6 +174,7 @@ public Throwable getReplyFault() {
      * c major minor
      * </pre>
      */
+    @Override
     public int readCall()
             throws IOException {
         int tag = read();
@@ -187,6 +191,7 @@ public int readCall()
     /**
      * For backward compatibility with HessianSkeleton
      */
+    @Override
     public void skipOptionalCall()
             throws IOException {
         int tag = read();
@@ -207,6 +212,7 @@ public void skipOptionalCall()
      * m b16 b8 method
      * </pre>
      */
+    @Override
     public String readMethod()
             throws IOException {
         int tag = read();
@@ -238,6 +244,7 @@ public String readMethod()
      * m b16 b8 method
      * </pre>
      */
+    @Override
     public void startCall()
             throws IOException {
         readCall();
@@ -258,6 +265,7 @@ public void startCall()
      * z
      * </pre>
      */
+    @Override
     public void completeCall()
             throws IOException {
         int tag = read();
@@ -271,6 +279,7 @@ public void completeCall()
      * Reads a reply as an object.
      * If the reply has a fault, throws the exception.
      */
+    @Override
     public Object readReply(Class expectedClass)
             throws Throwable {
         int tag = read();
@@ -304,6 +313,7 @@ public Object readReply(Class expectedClass)
      * r
      * </pre>
      */
+    @Override
     public void startReply()
             throws Throwable {
         int tag = read();
@@ -360,6 +370,7 @@ private Throwable prepareFault()
      * z
      * </pre>
      */
+    @Override
     public void completeReply()
             throws IOException {
         int tag = read();
@@ -392,6 +403,7 @@ public void completeValueReply()
      * H b16 b8 value
      * </pre>
      */
+    @Override
     public String readHeader()
             throws IOException {
         int tag = read();
@@ -420,6 +432,7 @@ public String readHeader()
      * N
      * </pre>
      */
+    @Override
     public void readNull()
             throws IOException {
         int tag = read();
@@ -456,6 +469,7 @@ public byte readByte()
      * F
      * </pre>
      */
+    @Override
     public boolean readBoolean()
             throws IOException {
         int tag = read();
@@ -498,6 +512,7 @@ public short readShort()
      * I b32 b24 b16 b8
      * </pre>
      */
+    @Override
     public int readInt()
             throws IOException {
         int tag = read();
@@ -526,6 +541,7 @@ public int readInt()
      * L b64 b56 b48 b40 b32 b24 b16 b8
      * </pre>
      */
+    @Override
     public long readLong()
             throws IOException {
         int tag = read();
@@ -566,6 +582,7 @@ public float readFloat()
      * D b64 b56 b48 b40 b32 b24 b16 b8
      * </pre>
      */
+    @Override
     public double readDouble()
             throws IOException {
         int tag = read();
@@ -594,6 +611,7 @@ public double readDouble()
      * T b64 b56 b48 b40 b32 b24 b16 b8
      * </pre>
      */
+    @Override
     public long readUTCDate()
             throws IOException {
         int tag = read();
@@ -743,6 +761,7 @@ else if (_chunkLength > 0 || !_isLastChunk)
      * S b16 b8 string value
      * </pre>
      */
+    @Override
     public String readString()
             throws IOException {
         int tag = read();
@@ -785,6 +804,7 @@ public String readString()
      * S b16 b8 string value
      * </pre>
      */
+    @Override
     public org.w3c.dom.Node readNode()
             throws IOException {
         int tag = read();
@@ -814,6 +834,7 @@ public String readString()
      * B b16 b8 data value
      * </pre>
      */
+    @Override
     public byte[] readBytes()
             throws IOException {
         int tag = read();
@@ -975,6 +996,7 @@ private HashMap readFault()
     /**
      * Reads an object from the input stream with an expected type.
      */
+    @Override
     public Object readObject(Class cl)
             throws IOException {
         if (cl == null || cl == Object.class)
@@ -1048,6 +1070,7 @@ public Object readObject(Class cl)
      * Reads an arbitrary object from the input stream when the type
      * is unknown.
      */
+    @Override
     public Object readObject()
             throws IOException {
         int tag = read();
@@ -1144,6 +1167,7 @@ public Object readObject()
     /**
      * Reads a remote object.
      */
+    @Override
     public Object readRemote()
             throws IOException {
         String type = readType();
@@ -1155,6 +1179,7 @@ public Object readRemote()
     /**
      * Reads a reference.
      */
+    @Override
     public Object readRef()
             throws IOException {
         return _refs.get(parseInt());
@@ -1163,6 +1188,7 @@ public Object readRef()
     /**
      * Reads the start of a list.
      */
+    @Override
     public int readListStart()
             throws IOException {
         return read();
@@ -1171,6 +1197,7 @@ public int readListStart()
     /**
      * Reads the start of a list.
      */
+    @Override
     public int readMapStart()
             throws IOException {
         return read();
@@ -1179,6 +1206,7 @@ public int readMapStart()
     /**
      * Returns true if this is the end of a list or a map.
      */
+    @Override
     public boolean isEnd()
             throws IOException {
         int code = read();
@@ -1191,6 +1219,7 @@ public boolean isEnd()
     /**
      * Reads the end byte.
      */
+    @Override
     public void readEnd()
             throws IOException {
         int code = read();
@@ -1202,6 +1231,7 @@ public void readEnd()
     /**
      * Reads the end byte.
      */
+    @Override
     public void readMapEnd()
             throws IOException {
         int code = read();
@@ -1213,6 +1243,7 @@ public void readMapEnd()
     /**
      * Reads the end byte.
      */
+    @Override
     public void readListEnd()
             throws IOException {
         int code = read();
@@ -1224,6 +1255,7 @@ public void readListEnd()
     /**
      * Adds a list/map reference.
      */
+    @Override
     public int addRef(Object ref) {
         if (_refs == null)
             _refs = new ArrayList();
@@ -1236,6 +1268,7 @@ public int addRef(Object ref) {
     /**
      * Adds a list/map reference.
      */
+    @Override
     public void setRef(int i, Object ref) {
         _refs.set(i, ref);
     }
@@ -1243,6 +1276,7 @@ public void setRef(int i, Object ref) {
     /**
      * Resets the references for streaming.
      */
+    @Override
     public void resetReferences() {
         if (_refs != null)
             _refs.clear();
@@ -1268,6 +1302,7 @@ public Object resolveRemote(String type, String url)
      * t b16 b8
      * </pre>
      */
+    @Override
     public String readType()
             throws IOException {
         int code = read();
@@ -1295,6 +1330,7 @@ public String readType()
      * l b32 b24 b16 b8
      * </pre>
      */
+    @Override
     public int readLength()
             throws IOException {
         int code = read();
@@ -1486,6 +1522,7 @@ private int parseByte()
     /**
      * Reads bytes based on an input stream.
      */
+    @Override
     public InputStream readInputStream()
             throws IOException {
         int tag = read();
@@ -1507,6 +1544,7 @@ public InputStream readInputStream()
         return new InputStream() {
             boolean _isClosed = false;
 
+            @Override
             public int read()
                     throws IOException {
                 if (_isClosed || _is == null)
@@ -1519,6 +1557,7 @@ public int read()
                 return ch;
             }
 
+            @Override
             public int read(byte[] buffer, int offset, int length)
                     throws IOException {
                 if (_isClosed || _is == null)
@@ -1531,6 +1570,7 @@ public int read(byte[] buffer, int offset, int length)
                 return len;
             }
 
+            @Override
             public void close()
                     throws IOException {
                 while (read() >= 0) {
@@ -1600,10 +1640,12 @@ final int read()
         return ch;
     }
 
+    @Override
     public void close() {
         _is = null;
     }
 
+    @Override
     public Reader getReader() {
         return null;
     }
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianOutput.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianOutput.java
index 27bc974f95..aad614b98e 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianOutput.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianOutput.java
@@ -98,6 +98,7 @@ public HessianOutput() {
     /**
      * Initializes the output
      */
+    @Override
     public void init(OutputStream os) {
         this.os = os;
 
@@ -117,6 +118,7 @@ public void setVersion(int version) {
     /**
      * Writes a complete method call.
      */
+    @Override
     public void call(String method, Object[] args)
             throws IOException {
         int length = args != null ? args.length : 0;
@@ -141,6 +143,7 @@ public void call(String method, Object[] args)
      *
      * @param method the method name to call.
      */
+    @Override
     public void startCall(String method, int length)
             throws IOException {
         os.write('c');
@@ -164,6 +167,7 @@ public void startCall(String method, int length)
      *
      * @param method the method name to call.
      */
+    @Override
     public void startCall()
             throws IOException {
         os.write('c');
@@ -180,6 +184,7 @@ public void startCall()
      *
      * @param method the method name to call.
      */
+    @Override
     public void writeMethod(String method)
             throws IOException {
         os.write('m');
@@ -196,6 +201,7 @@ public void writeMethod(String method)
      * z
      * </pre></code>
      */
+    @Override
     public void completeCall()
             throws IOException {
         os.write('z');
@@ -210,6 +216,7 @@ public void completeCall()
      * r
      * </pre>
      */
+    @Override
     public void startReply()
             throws IOException {
         os.write('r');
@@ -226,6 +233,7 @@ public void startReply()
      * z
      * </pre>
      */
+    @Override
     public void completeReply()
             throws IOException {
         os.write('z');
@@ -238,6 +246,7 @@ public void completeReply()
      * H b16 b8 foo <em>value</em>
      * </pre></code>
      */
+    @Override
     public void writeHeader(String name)
             throws IOException {
         int len = name.length();
@@ -270,6 +279,7 @@ public void writeHeader(String name)
      *
      * @param code the fault code, a three digit
      */
+    @Override
     public void writeFault(String code, String message, Object detail)
             throws IOException {
         os.write('f');
@@ -289,6 +299,7 @@ public void writeFault(String code, String message, Object detail)
     /**
      * Writes any object to the output stream.
      */
+    @Override
     public void writeObject(Object object)
             throws IOException {
         if (object == null) {
@@ -314,6 +325,7 @@ public void writeObject(Object object)
      * l b32 b24 b16 b8
      * </pre></code>
      */
+    @Override
     public boolean writeListBegin(int length, String type)
             throws IOException {
         os.write('V');
@@ -337,6 +349,7 @@ public boolean writeListBegin(int length, String type)
     /**
      * Writes the tail of the list to the stream.
      */
+    @Override
     public void writeListEnd()
             throws IOException {
         os.write('z');
@@ -351,6 +364,7 @@ public void writeListEnd()
      * Mt b16 b8 (<key> <value>)z
      * </pre></code>
      */
+    @Override
     public void writeMapBegin(String type)
             throws IOException {
         os.write('M');
@@ -361,6 +375,7 @@ public void writeMapBegin(String type)
     /**
      * Writes the tail of the map to the stream.
      */
+    @Override
     public void writeMapEnd()
             throws IOException {
         os.write('z');
@@ -394,6 +409,7 @@ public void writeRemote(String type, String url)
      *
      * @param value the boolean value to write.
      */
+    @Override
     public void writeBoolean(boolean value)
             throws IOException {
         if (value)
@@ -412,6 +428,7 @@ public void writeBoolean(boolean value)
      *
      * @param value the integer value to write.
      */
+    @Override
     public void writeInt(int value)
             throws IOException {
         os.write('I');
@@ -431,6 +448,7 @@ public void writeInt(int value)
      *
      * @param value the long value to write.
      */
+    @Override
     public void writeLong(long value)
             throws IOException {
         os.write('L');
@@ -454,6 +472,7 @@ public void writeLong(long value)
      *
      * @param value the double value to write.
      */
+    @Override
     public void writeDouble(double value)
             throws IOException {
         long bits = Double.doubleToLongBits(value);
@@ -478,6 +497,7 @@ public void writeDouble(double value)
      *
      * @param time the date in milliseconds from the epoch in UTC
      */
+    @Override
     public void writeUTCDate(long time)
             throws IOException {
         os.write('d');
@@ -501,6 +521,7 @@ public void writeUTCDate(long time)
      *
      * @param value the string value to write.
      */
+    @Override
     public void writeNull()
             throws IOException {
         os.write('N');
@@ -522,6 +543,7 @@ public void writeNull()
      *
      * @param value the string value to write.
      */
+    @Override
     public void writeString(String value)
             throws IOException {
         if (value == null) {
@@ -573,6 +595,7 @@ public void writeString(String value)
      *
      * @param value the string value to write.
      */
+    @Override
     public void writeString(char[] buffer, int offset, int length)
             throws IOException {
         if (buffer == null) {
@@ -621,6 +644,7 @@ public void writeString(char[] buffer, int offset, int length)
      *
      * @param value the string value to write.
      */
+    @Override
     public void writeBytes(byte[] buffer)
             throws IOException {
         if (buffer == null)
@@ -645,6 +669,7 @@ public void writeBytes(byte[] buffer)
      *
      * @param value the string value to write.
      */
+    @Override
     public void writeBytes(byte[] buffer, int offset, int length)
             throws IOException {
         if (buffer == null) {
@@ -676,6 +701,7 @@ public void writeBytes(byte[] buffer, int offset, int length)
      * <code><pre>
      * </pre></code>
      */
+    @Override
     public void writeByteBufferStart()
             throws IOException {
     }
@@ -687,6 +713,7 @@ public void writeByteBufferStart()
      * b b16 b18 bytes
      * </pre></code>
      */
+    @Override
     public void writeByteBufferPart(byte[] buffer, int offset, int length)
             throws IOException {
         while (length > 0) {
@@ -713,6 +740,7 @@ public void writeByteBufferPart(byte[] buffer, int offset, int length)
      * b b16 b18 bytes
      * </pre></code>
      */
+    @Override
     public void writeByteBufferEnd(byte[] buffer, int offset, int length)
             throws IOException {
         writeBytes(buffer, offset, length);
@@ -727,6 +755,7 @@ public void writeByteBufferEnd(byte[] buffer, int offset, int length)
      *
      * @param value the integer value to write.
      */
+    @Override
     public void writeRef(int value)
             throws IOException {
         os.write('R');
@@ -753,6 +782,7 @@ public void writePlaceholder()
      *
      * @return true if we're writing a ref.
      */
+    @Override
     public boolean addRef(Object object)
             throws IOException {
         if (_refs == null)
@@ -775,6 +805,7 @@ public boolean addRef(Object object)
     /**
      * Resets the references for streaming.
      */
+    @Override
     public void resetReferences() {
         if (_refs != null)
             _refs.clear();
@@ -783,6 +814,7 @@ public void resetReferences() {
     /**
      * Removes a reference.
      */
+    @Override
     public boolean removeRef(Object obj)
             throws IOException {
         if (_refs != null) {
@@ -796,6 +828,7 @@ public boolean removeRef(Object obj)
     /**
      * Replaces a reference from one object to another.
      */
+    @Override
     public boolean replaceRef(Object oldRef, Object newRef)
             throws IOException {
         Integer value = (Integer) _refs.remove(oldRef);
@@ -882,12 +915,14 @@ else if (ch < 0x800) {
         }
     }
 
+    @Override
     public void flush()
             throws IOException {
         if (this.os != null)
             this.os.flush();
     }
 
+    @Override
     public void close()
             throws IOException {
         if (this.os != null)
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianProtocolException.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianProtocolException.java
index 6456c1c905..28aa320a92 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianProtocolException.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianProtocolException.java
@@ -98,6 +98,7 @@ public Throwable getRootCause() {
     /**
      * Returns the underlying cause.
      */
+    @Override
     public Throwable getCause() {
         return getRootCause();
     }
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianRemote.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianRemote.java
index 0bf6611adf..0f5755e898 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianRemote.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/HessianRemote.java
@@ -97,6 +97,7 @@ public void setURL(String url) {
     /**
      * Defines the hashcode.
      */
+    @Override
     public int hashCode() {
         return url.hashCode();
     }
@@ -104,6 +105,7 @@ public int hashCode() {
     /**
      * Defines equality
      */
+    @Override
     public boolean equals(Object obj) {
         if (!(obj instanceof HessianRemote))
             return false;
@@ -116,6 +118,7 @@ public boolean equals(Object obj) {
     /**
      * Readable version of the remote.
      */
+    @Override
     public String toString() {
         return "[HessianRemote " + url + "]";
     }
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/IOExceptionWrapper.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/IOExceptionWrapper.java
index 9b66c805c7..261d4beca7 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/IOExceptionWrapper.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/IOExceptionWrapper.java
@@ -68,6 +68,7 @@ public IOExceptionWrapper(String msg, Throwable cause) {
         _cause = cause;
     }
 
+    @Override
     public Throwable getCause() {
         return _cause;
     }
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/InputStreamDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/InputStreamDeserializer.java
index ab44e606f8..2dd02908e5 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/InputStreamDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/InputStreamDeserializer.java
@@ -57,6 +57,7 @@
     public InputStreamDeserializer() {
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in)
             throws IOException {
         return in.readInputStream();
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/InputStreamSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/InputStreamSerializer.java
index aef872fb22..9bf87e6913 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/InputStreamSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/InputStreamSerializer.java
@@ -58,6 +58,7 @@
     public InputStreamSerializer() {
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         InputStream is = (InputStream) obj;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/IteratorSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/IteratorSerializer.java
index e09f0c9881..2d704d2630 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/IteratorSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/IteratorSerializer.java
@@ -64,6 +64,7 @@ public static IteratorSerializer create() {
         return _serializer;
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         Iterator iter = (Iterator) obj;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/JavaDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/JavaDeserializer.java
index 86543367ff..fb5b3127b5 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/JavaDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/JavaDeserializer.java
@@ -173,10 +173,12 @@ else if (e instanceof IOException)
             throw new HessianFieldException(fieldName + ": " + field.getType().getName() + " cannot be assigned from null", e);
     }
 
+    @Override
     public Class getType() {
         return _type;
     }
 
+    @Override
     public Object readMap(AbstractHessianInput in)
         throws IOException {
         try {
@@ -192,6 +194,7 @@ public Object readMap(AbstractHessianInput in)
         }
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in, String[] fieldNames)
         throws IOException {
         try {
@@ -396,6 +399,7 @@ abstract void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             Object value = null;
@@ -417,6 +421,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             boolean value = false;
@@ -438,6 +443,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             int value = 0;
@@ -459,6 +465,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             int value = 0;
@@ -480,6 +487,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             Object value = null;
@@ -506,6 +514,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             Object value = null;
@@ -531,6 +540,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             int value = 0;
@@ -552,6 +562,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             long value = 0;
@@ -573,6 +584,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             double value = 0;
@@ -594,6 +606,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             double value = 0;
@@ -615,6 +628,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             String value = null;
@@ -636,6 +650,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             java.sql.Date value = null;
@@ -659,6 +674,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             java.sql.Timestamp value = null;
@@ -682,6 +698,7 @@ void deserialize(AbstractHessianInput in, Object obj)
             _field = field;
         }
 
+        @Override
         void deserialize(AbstractHessianInput in, Object obj)
             throws IOException {
             java.sql.Time value = null;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/JavaSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/JavaSerializer.java
index a6c4a132b5..92a090f86d 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/JavaSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/JavaSerializer.java
@@ -201,6 +201,7 @@ protected Method getWriteReplace(Class cl, Class param) {
         return null;
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         if (out.addRef(obj)) {
@@ -308,6 +309,7 @@ void serialize(AbstractHessianOutput out, Object obj, Field field)
     static class BooleanFieldSerializer extends FieldSerializer {
         static final FieldSerializer SER = new BooleanFieldSerializer();
 
+        @Override
         void serialize(AbstractHessianOutput out, Object obj, Field field)
                 throws IOException {
             boolean value = false;
@@ -325,6 +327,7 @@ void serialize(AbstractHessianOutput out, Object obj, Field field)
     static class IntFieldSerializer extends FieldSerializer {
         static final FieldSerializer SER = new IntFieldSerializer();
 
+        @Override
         void serialize(AbstractHessianOutput out, Object obj, Field field)
                 throws IOException {
             int value = 0;
@@ -342,6 +345,7 @@ void serialize(AbstractHessianOutput out, Object obj, Field field)
     static class LongFieldSerializer extends FieldSerializer {
         static final FieldSerializer SER = new LongFieldSerializer();
 
+        @Override
         void serialize(AbstractHessianOutput out, Object obj, Field field)
                 throws IOException {
             long value = 0;
@@ -359,6 +363,7 @@ void serialize(AbstractHessianOutput out, Object obj, Field field)
     static class DoubleFieldSerializer extends FieldSerializer {
         static final FieldSerializer SER = new DoubleFieldSerializer();
 
+        @Override
         void serialize(AbstractHessianOutput out, Object obj, Field field)
                 throws IOException {
             double value = 0;
@@ -376,6 +381,7 @@ void serialize(AbstractHessianOutput out, Object obj, Field field)
     static class StringFieldSerializer extends FieldSerializer {
         static final FieldSerializer SER = new StringFieldSerializer();
 
+        @Override
         void serialize(AbstractHessianOutput out, Object obj, Field field)
                 throws IOException {
             String value = null;
@@ -393,6 +399,7 @@ void serialize(AbstractHessianOutput out, Object obj, Field field)
     static class DateFieldSerializer extends FieldSerializer {
         static final FieldSerializer SER = new DateFieldSerializer();
 
+        @Override
         void serialize(AbstractHessianOutput out, Object obj, Field field)
                 throws IOException {
             java.util.Date value = null;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/LocaleSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/LocaleSerializer.java
index 86f6cb0f3c..2ac93936ae 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/LocaleSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/LocaleSerializer.java
@@ -61,6 +61,7 @@ public static LocaleSerializer create() {
         return SERIALIZER;
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         if (obj == null)
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/MapDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/MapDeserializer.java
index 054cb7d082..9720fb6446 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/MapDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/MapDeserializer.java
@@ -84,6 +84,7 @@ public MapDeserializer(Class type) {
         }
     }
 
+    @Override
     public Class getType() {
         if (_type != null)
             return _type;
@@ -91,6 +92,7 @@ public Class getType() {
             return HashMap.class;
     }
 
+    @Override
     public Object readMap(AbstractHessianInput in)
             throws IOException {
         return readMap(in, null, null);
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/MapSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/MapSerializer.java
index b15893da3c..5d48eaa009 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/MapSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/MapSerializer.java
@@ -73,6 +73,7 @@ public void setSendJavaType(boolean sendJavaType) {
         _isSendJavaType = sendJavaType;
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         if (out.addRef(obj))
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ObjectDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ObjectDeserializer.java
index ebd91aee3f..c4e69f1c76 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ObjectDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ObjectDeserializer.java
@@ -60,25 +60,30 @@ public ObjectDeserializer(Class cl) {
         _cl = cl;
     }
 
+    @Override
     public Class getType() {
         return _cl;
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in)
             throws IOException {
         return in.readObject();
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in, String[] fieldNames)
             throws IOException {
         throw new UnsupportedOperationException(String.valueOf(this));
     }
 
+    @Override
     public Object readList(AbstractHessianInput in, int length)
             throws IOException {
         throw new UnsupportedOperationException(String.valueOf(this));
     }
 
+    @Override
     public Object readLengthList(AbstractHessianInput in, int length)
             throws IOException {
         throw new UnsupportedOperationException(String.valueOf(this));
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/RemoteSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/RemoteSerializer.java
index c59c9d2475..29146884ae 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/RemoteSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/RemoteSerializer.java
@@ -54,6 +54,7 @@
  * Serializing a remote object.
  */
 public class RemoteSerializer extends AbstractSerializer {
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         // XXX: needs to be handled as a separate class
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SerializerFactory.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SerializerFactory.java
index 00404db2c4..39bc5c194a 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SerializerFactory.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SerializerFactory.java
@@ -404,6 +404,7 @@ protected Serializer getDefaultSerializer(Class cl) {
      * @param cl the class of the object that needs to be deserialized.
      * @return a deserializer object for the serialization.
      */
+    @Override
     public Deserializer getDeserializer(Class cl)
             throws HessianProtocolException {
         Deserializer deserializer;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SqlDateDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SqlDateDeserializer.java
index d829c97911..df809d7457 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SqlDateDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SqlDateDeserializer.java
@@ -64,10 +64,12 @@ public SqlDateDeserializer(Class cl)
         _constructor = cl.getConstructor(new Class[]{long.class});
     }
 
+    @Override
     public Class getType() {
         return _cl;
     }
 
+    @Override
     public Object readMap(AbstractHessianInput in)
             throws IOException {
         int ref = in.addRef(null);
@@ -92,6 +94,7 @@ public Object readMap(AbstractHessianInput in)
         return value;
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in, String[] fieldNames)
             throws IOException {
         int ref = in.addRef(null);
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SqlDateSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SqlDateSerializer.java
index c812c7ede1..5e6c8f4a41 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SqlDateSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/SqlDateSerializer.java
@@ -55,6 +55,7 @@
  * Serializing a sql date object.
  */
 public class SqlDateSerializer extends AbstractSerializer {
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         if (obj == null)
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/StringValueDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/StringValueDeserializer.java
index 5d6f3e1ecc..90ceef1705 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/StringValueDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/StringValueDeserializer.java
@@ -67,10 +67,12 @@ public StringValueDeserializer(Class cl) {
         }
     }
 
+    @Override
     public Class getType() {
         return _cl;
     }
 
+    @Override
     public Object readMap(AbstractHessianInput in)
             throws IOException {
         String value = null;
@@ -93,6 +95,7 @@ public Object readMap(AbstractHessianInput in)
         return object;
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in, String[] fieldNames)
             throws IOException {
         String value = null;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/StringValueSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/StringValueSerializer.java
index 59ae0ecb63..16a00b4e5d 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/StringValueSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/StringValueSerializer.java
@@ -54,6 +54,7 @@
  * Serializing a remote object.
  */
 public class StringValueSerializer extends AbstractSerializer {
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         if (obj == null)
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ThrowableSerializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ThrowableSerializer.java
index ebe319cde0..1f65e7f05b 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ThrowableSerializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ThrowableSerializer.java
@@ -58,6 +58,7 @@ public ThrowableSerializer(Class cl, ClassLoader loader) {
         super(cl, loader);
     }
 
+    @Override
     public void writeObject(Object obj, AbstractHessianOutput out)
             throws IOException {
         Throwable e = (Throwable) obj;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ValueDeserializer.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ValueDeserializer.java
index ea99666c39..af548ac523 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ValueDeserializer.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ValueDeserializer.java
@@ -54,6 +54,7 @@
  * Deserializing a string valued object
  */
 abstract public class ValueDeserializer extends AbstractDeserializer {
+    @Override
     public Object readMap(AbstractHessianInput in)
             throws IOException {
         String initValue = null;
@@ -72,6 +73,7 @@ public Object readMap(AbstractHessianInput in)
         return create(initValue);
     }
 
+    @Override
     public Object readObject(AbstractHessianInput in, String[] fieldNames)
             throws IOException {
         String initValue = null;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/security/X509Encryption.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/security/X509Encryption.java
index ea4a2179f5..2156cec2b9 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/security/X509Encryption.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/security/X509Encryption.java
@@ -140,6 +140,7 @@ public void setSecureRandom(SecureRandom random) {
         _secureRandom = random;
     }
 
+    @Override
     public Hessian2Output wrap(Hessian2Output out)
             throws IOException {
         if (_cert == null)
@@ -154,6 +155,7 @@ public Hessian2Output wrap(Hessian2Output out)
         return filterOut;
     }
 
+    @Override
     public Hessian2Input unwrap(Hessian2Input in)
             throws IOException {
         if (_privateKey == null)
@@ -173,6 +175,7 @@ public Hessian2Input unwrap(Hessian2Input in)
         return unwrapHeaders(in);
     }
 
+    @Override
     public Hessian2Input unwrapHeaders(Hessian2Input in)
             throws IOException {
         if (_privateKey == null)
@@ -258,16 +261,19 @@ public Hessian2Input unwrapHeaders(Hessian2Input in)
             }
         }
 
+        @Override
         public void write(int ch)
                 throws IOException {
             _cipherOut.write(ch);
         }
 
+        @Override
         public void write(byte[] buffer, int offset, int length)
                 throws IOException {
             _cipherOut.write(buffer, offset, length);
         }
 
+        @Override
         public void close()
                 throws IOException {
             Hessian2Output out = _out;
@@ -337,16 +343,19 @@ else if ("key".equals(header))
             }
         }
 
+        @Override
         public int read()
                 throws IOException {
             return _cipherIn.read();
         }
 
+        @Override
         public int read(byte[] buffer, int offset, int length)
                 throws IOException {
             return _cipherIn.read(buffer, offset, length);
         }
 
+        @Override
         public void close()
                 throws IOException {
             Hessian2Input in = _in;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/security/X509Signature.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/security/X509Signature.java
index 4d1de84484..a8023e729b 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/security/X509Signature.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/security/X509Signature.java
@@ -135,6 +135,7 @@ public void setSecureRandom(SecureRandom random) {
         _secureRandom = random;
     }
 
+    @Override
     public Hessian2Output wrap(Hessian2Output out)
             throws IOException {
         if (_privateKey == null)
@@ -152,6 +153,7 @@ public Hessian2Output wrap(Hessian2Output out)
         return filterOut;
     }
 
+    @Override
     public Hessian2Input unwrap(Hessian2Input in)
             throws IOException {
         if (_cert == null)
@@ -168,6 +170,7 @@ public Hessian2Input unwrap(Hessian2Input in)
         return unwrapHeaders(in);
     }
 
+    @Override
     public Hessian2Input unwrapHeaders(Hessian2Input in)
             throws IOException {
         if (_cert == null)
@@ -237,18 +240,21 @@ public Hessian2Input unwrapHeaders(Hessian2Input in)
             }
         }
 
+        @Override
         public void write(int ch)
                 throws IOException {
             _bodyOut.write(ch);
             _mac.update((byte) ch);
         }
 
+        @Override
         public void write(byte[] buffer, int offset, int length)
                 throws IOException {
             _bodyOut.write(buffer, offset, length);
             _mac.update(buffer, offset, length);
         }
 
+        @Override
         public void close()
                 throws IOException {
             Hessian2Output out = _out;
@@ -321,6 +327,7 @@ else if ("key".equals(header))
             }
         }
 
+        @Override
         public int read()
                 throws IOException {
             int ch = _bodyIn.read();
@@ -333,6 +340,7 @@ public int read()
             return ch;
         }
 
+        @Override
         public int read(byte[] buffer, int offset, int length)
                 throws IOException {
             int len = _bodyIn.read(buffer, offset, length);
@@ -345,6 +353,7 @@ public int read(byte[] buffer, int offset, int length)
             return len;
         }
 
+        @Override
         public void close()
                 throws IOException {
             Hessian2Input in = _in;
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/util/IdentityIntMap.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/util/IdentityIntMap.java
index 9be45e3ba9..afa3a9f992 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/util/IdentityIntMap.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/util/IdentityIntMap.java
@@ -219,6 +219,7 @@ else if (mapKey == key) {
         }
     }
 
+    @Override
     public String toString() {
         StringBuffer sbuf = new StringBuffer();
 
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/util/IntMap.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/util/IntMap.java
index d31dcb2342..8711570f14 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/util/IntMap.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/util/IntMap.java
@@ -219,6 +219,7 @@ else if (mapKey == key) {
         }
     }
 
+    @Override
     public String toString() {
         StringBuffer sbuf = new StringBuffer();
 


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services