This commit is contained in:
Looly 2019-10-17 11:19:59 +08:00
parent 2602f91327
commit 1b3a19f07e
9 changed files with 50 additions and 47 deletions

View File

@ -22,6 +22,7 @@ public interface BitMap{
* 检查是否包含值 * 检查是否包含值
* *
* @param i * @param i
* @return 是否包含
*/ */
boolean contains(long i); boolean contains(long i);
@ -30,5 +31,5 @@ public interface BitMap{
* *
* @param i * @param i
*/ */
public void remove(long i); void remove(long i);
} }

View File

@ -11,7 +11,7 @@ import java.io.Serializable;
public class IntMap implements BitMap, Serializable { public class IntMap implements BitMap, Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private int[] ints = null; private int[] ints;
/** /**
* 构造 * 构造
@ -40,10 +40,7 @@ public class IntMap implements BitMap, Serializable {
public boolean contains(long i) { public boolean contains(long i) {
int r = (int) (i / BitMap.MACHINE32); int r = (int) (i / BitMap.MACHINE32);
int c = (int) (i % BitMap.MACHINE32); int c = (int) (i % BitMap.MACHINE32);
if (((int) ((ints[r] >>> c)) & 1) == 1) { return ((int) ((ints[r] >>> c)) & 1) == 1;
return true;
}
return false;
} }
@Override @Override

View File

@ -11,7 +11,7 @@ import java.io.Serializable;
public class LongMap implements BitMap, Serializable { public class LongMap implements BitMap, Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private long[] longs = null; private long[] longs;
/** /**
* 构造 * 构造
@ -40,10 +40,7 @@ public class LongMap implements BitMap, Serializable {
public boolean contains(long i) { public boolean contains(long i) {
int r = (int) (i / BitMap.MACHINE64); int r = (int) (i / BitMap.MACHINE64);
long c = i % BitMap.MACHINE64; long c = i % BitMap.MACHINE64;
if (((longs[r] >>> c) & 1) == 1) { return ((longs[r] >>> c) & 1) == 1;
return true;
}
return false;
} }
@Override @Override

View File

@ -4,14 +4,14 @@ import cn.hutool.core.util.HashUtil;
/** /**
* 默认Bloom过滤器使用Java自带的Hash算法 * 默认Bloom过滤器使用Java自带的Hash算法
* @author loolly
* *
* @author loolly
*/ */
public class DefaultFilter extends AbstractFilter { public class DefaultFilter extends AbstractFilter {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public DefaultFilter(long maxValue, int MACHINENUM) { public DefaultFilter(long maxValue, int machineNumber) {
super(maxValue, MACHINENUM); super(maxValue, machineNumber);
} }
public DefaultFilter(long maxValue) { public DefaultFilter(long maxValue) {

View File

@ -5,8 +5,8 @@ import cn.hutool.core.util.HashUtil;
public class ELFFilter extends AbstractFilter { public class ELFFilter extends AbstractFilter {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public ELFFilter(long maxValue, int MACHINENUM) { public ELFFilter(long maxValue, int machineNumber) {
super(maxValue, MACHINENUM); super(maxValue, machineNumber);
} }
public ELFFilter(long maxValue) { public ELFFilter(long maxValue) {

View File

@ -64,6 +64,7 @@ public class AioClient implements Closeable{
* @param <T> 选项泛型 * @param <T> 选项泛型
* @param name {@link SocketOption} 枚举 * @param name {@link SocketOption} 枚举
* @param value SocketOption参数 * @param value SocketOption参数
* @return this
* @throws IOException IO异常 * @throws IOException IO异常
*/ */
public <T> AioClient setOption(SocketOption<T> name, T value) throws IOException { public <T> AioClient setOption(SocketOption<T> name, T value) throws IOException {
@ -93,6 +94,7 @@ public class AioClient implements Closeable{
/** /**
* 写数据到服务端 * 写数据到服务端
* *
* @param data 数据
* @return this * @return this
*/ */
public AioClient write(ByteBuffer data) { public AioClient write(ByteBuffer data) {

View File

@ -20,7 +20,6 @@ import cn.hutool.socket.SocketConfig;
* 基于AIO的Socket服务端实现 * 基于AIO的Socket服务端实现
* *
* @author looly * @author looly
*
*/ */
public class AioServer implements Closeable { public class AioServer implements Closeable {
private static final Log log = LogFactory.get(); private static final Log log = LogFactory.get();
@ -91,6 +90,7 @@ public class AioServer implements Closeable{
* @param <T> 选项泛型 * @param <T> 选项泛型
* @param name {@link SocketOption} 枚举 * @param name {@link SocketOption} 枚举
* @param value SocketOption参数 * @param value SocketOption参数
* @return this
* @throws IOException IO异常 * @throws IOException IO异常
*/ */
public <T> AioServer setOption(SocketOption<T> name, T value) throws IOException { public <T> AioServer setOption(SocketOption<T> name, T value) throws IOException {
@ -168,6 +168,7 @@ public class AioServer implements Closeable{
} }
// ------------------------------------------------------------------------------------- Private method start // ------------------------------------------------------------------------------------- Private method start
/** /**
* 开始监听 * 开始监听
* *

View File

@ -119,6 +119,7 @@ public class AioSession implements Closeable{
/** /**
* 写数据到目标端并关闭输出 * 写数据到目标端并关闭输出
* *
* @param data 数据
* @return this * @return this
*/ */
public AioSession writeAndClose(ByteBuffer data) { public AioSession writeAndClose(ByteBuffer data) {
@ -129,6 +130,7 @@ public class AioSession implements Closeable{
/** /**
* 写数据到目标端 * 写数据到目标端
* *
* @param data 数据
* @return {@link Future} * @return {@link Future}
*/ */
public Future<Integer> write(ByteBuffer data) { public Future<Integer> write(ByteBuffer data) {
@ -138,6 +140,7 @@ public class AioSession implements Closeable{
/** /**
* 写数据到目标端 * 写数据到目标端
* *
* @param data 数据
* @param handler {@link CompletionHandler} * @param handler {@link CompletionHandler}
* @return this * @return this
*/ */

View File

@ -58,6 +58,7 @@ public class NioClient implements Closeable{
* 当收到读取准备就绪的信号后回调此方法用户可读取从客户端传世来的消息 * 当收到读取准备就绪的信号后回调此方法用户可读取从客户端传世来的消息
* *
* @param buffer 服务端数据存储缓存 * @param buffer 服务端数据存储缓存
* @return this
*/ */
public NioClient read(ByteBuffer buffer) { public NioClient read(ByteBuffer buffer) {
try { try {
@ -73,6 +74,7 @@ public class NioClient implements Closeable{
* 当收到写出准备就绪的信号后回调此方法用户可向客户端发送消息 * 当收到写出准备就绪的信号后回调此方法用户可向客户端发送消息
* *
* @param datas 发送的数据 * @param datas 发送的数据
* @return this
*/ */
public NioClient write(ByteBuffer... datas) { public NioClient write(ByteBuffer... datas) {
try { try {