在我的应用程序中有很多猜测密码的尝试
public static boolean checkIfAddressBanned(InetSocketAddress from) {
String address = from.getAddress().getHostAddress();
if (bannedAddresses.contains(address)) {
if (loggingEnabled) {
log.info(String.format("IP [%s] is banned", address));
}
return true;
}
return false;
}
我正在尝试做的是避免多次调用log.info
会降低服务器性能的消息。简单检查布尔标志上方的代码片段是否启用了日志记录。我想重写上面的代码,写跳过一些这样的事件。
跳过某些消息的资源消耗较少的方法是什么?例如,
if (System.currentTimeMillis() % 3 == 0)
另一个例子
if (atomicLong.incrementAndGet % 3 == 0)