diff --git a/clients/service-center-client/src/test/java/org/apache/servicecomb/service/center/client/ServiceCenterClientTest.java b/clients/service-center-client/src/test/java/org/apache/servicecomb/service/center/client/ServiceCenterClientTest.java
index 79566fe..0c2abfb 100755
--- a/clients/service-center-client/src/test/java/org/apache/servicecomb/service/center/client/ServiceCenterClientTest.java
+++ b/clients/service-center-client/src/test/java/org/apache/servicecomb/service/center/client/ServiceCenterClientTest.java
@@ -487,7 +487,6 @@
     boolean result = serviceCenterClient
         .updateServiceSchemaContext("111", new SchemaInfo());
 
-    Assertions.assertNotNull(result);
     Assertions.assertTrue(result);
   }
 }
diff --git a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/OutputStreamToWriteStream.java b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/OutputStreamToWriteStream.java
index 464b141..95ea0b5 100644
--- a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/OutputStreamToWriteStream.java
+++ b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/OutputStreamToWriteStream.java
@@ -141,7 +141,7 @@
 
   @Override
   public WriteStream<Buffer> setWriteQueueMaxSize(int maxSize) {
-    this.maxBuffers = maxSize < SMALLEST_MAX_BUFFERS ? SMALLEST_MAX_BUFFERS : maxSize;
+    this.maxBuffers = Math.max(maxSize, SMALLEST_MAX_BUFFERS);
     this.drainMark = maxBuffers / 2;
     return this;
   }
diff --git a/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/data/MonitorConstant.java b/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/data/MonitorConstant.java
index eb3adf4..9bf37e2 100644
--- a/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/data/MonitorConstant.java
+++ b/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/data/MonitorConstant.java
@@ -119,10 +119,7 @@
     DynamicIntProperty property = DynamicPropertyFactory.getInstance().
         getIntProperty("servicecomb.monitor.client.interval", DEFAULT_INTERVAL);
     int val = property.getValue();
-    if (val < MIN_INTERVAL_MILLISECONDS) {
-      return MIN_INTERVAL_MILLISECONDS;
-    }
-    return val;
+    return Math.max(val, MIN_INTERVAL_MILLISECONDS);
   }
 
   public static Boolean isProxyEnable() {
diff --git a/transports/transport-common/src/main/java/org/apache/servicecomb/transport/common/TransportConfigUtils.java b/transports/transport-common/src/main/java/org/apache/servicecomb/transport/common/TransportConfigUtils.java
index 2278fb6..29a7b95 100644
--- a/transports/transport-common/src/main/java/org/apache/servicecomb/transport/common/TransportConfigUtils.java
+++ b/transports/transport-common/src/main/java/org/apache/servicecomb/transport/common/TransportConfigUtils.java
@@ -42,7 +42,7 @@
     }
 
     // default value
-    count = Runtime.getRuntime().availableProcessors() > 8 ? 8 : Runtime.getRuntime().availableProcessors();
+    count = Math.min(Runtime.getRuntime().availableProcessors(), 8);
     LOGGER.info("{} not defined, set to {}.", key, count);
     return count;
   }
