Merge pull request #1446 from cal101/jdt-RemoveAllTrailingWhitespaceCleanUp-1

[cleanup] erefactor/EclipseJdt - Remove trailing whitespace - All lines
This commit is contained in:
Golden Looly 2021-02-28 12:15:34 +08:00 committed by GitHub
commit d8dccdbfe7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 94 additions and 94 deletions

View File

@ -1,6 +1,6 @@
/**
* 布隆过滤提供一些Hash算法的布隆过滤
*
*
* @author looly
*
*/

View File

@ -8,14 +8,14 @@ import cn.hutool.bloomfilter.bitMap.IntMap;
import cn.hutool.bloomfilter.bitMap.LongMap;
public class BitMapBloomFilterTest {
@Test
public void filterTest() {
BitMapBloomFilter filter = new BitMapBloomFilter(10);
filter.add("123");
filter.add("abc");
filter.add("ddd");
Assert.assertTrue(filter.contains("abc"));
Assert.assertTrue(filter.contains("ddd"));
Assert.assertTrue(filter.contains("123"));

View File

@ -13,10 +13,10 @@ import cn.hutool.cache.impl.WeakCache;
*@since 3.0.1
*/
public class CacheUtil {
/**
* 创建FIFO(first in first out) 先进先出缓存.
*
*
* @param <K> Key类型
* @param <V> Value类型
* @param capacity 容量
@ -26,10 +26,10 @@ public class CacheUtil {
public static <K, V> FIFOCache<K, V> newFIFOCache(int capacity, long timeout){
return new FIFOCache<>(capacity, timeout);
}
/**
* 创建FIFO(first in first out) 先进先出缓存.
*
*
* @param <K> Key类型
* @param <V> Value类型
* @param capacity 容量
@ -38,10 +38,10 @@ public class CacheUtil {
public static <K, V> FIFOCache<K, V> newFIFOCache(int capacity){
return new FIFOCache<>(capacity);
}
/**
* 创建LFU(least frequently used) 最少使用率缓存.
*
*
* @param <K> Key类型
* @param <V> Value类型
* @param capacity 容量
@ -51,10 +51,10 @@ public class CacheUtil {
public static <K, V> LFUCache<K, V> newLFUCache(int capacity, long timeout){
return new LFUCache<>(capacity, timeout);
}
/**
* 创建LFU(least frequently used) 最少使用率缓存.
*
*
* @param <K> Key类型
* @param <V> Value类型
* @param capacity 容量
@ -63,11 +63,11 @@ public class CacheUtil {
public static <K, V> LFUCache<K, V> newLFUCache(int capacity){
return new LFUCache<>(capacity);
}
/**
* 创建LRU (least recently used)最近最久未使用缓存.
*
*
* @param <K> Key类型
* @param <V> Value类型
* @param capacity 容量
@ -77,10 +77,10 @@ public class CacheUtil {
public static <K, V> LRUCache<K, V> newLRUCache(int capacity, long timeout){
return new LRUCache<>(capacity, timeout);
}
/**
* 创建LRU (least recently used)最近最久未使用缓存.
*
*
* @param <K> Key类型
* @param <V> Value类型
* @param capacity 容量
@ -89,10 +89,10 @@ public class CacheUtil {
public static <K, V> LRUCache<K, V> newLRUCache(int capacity){
return new LRUCache<>(capacity);
}
/**
* 创建定时缓存.
*
*
* @param <K> Key类型
* @param <V> Value类型
* @param timeout 过期时长单位毫秒
@ -101,10 +101,10 @@ public class CacheUtil {
public static <K, V> TimedCache<K, V> newTimedCache(long timeout){
return new TimedCache<>(timeout);
}
/**
* 创建弱引用缓存.
*
*
* @param <K> Key类型
* @param <V> Value类型
* @param timeout 过期时长单位毫秒
@ -114,10 +114,10 @@ public class CacheUtil {
public static <K, V> WeakCache<K, V> newWeakCache(long timeout){
return new WeakCache<>(timeout);
}
/**
* 创建无缓存实现.
*
*
* @param <K> Key类型
* @param <V> Value类型
* @return {@link NoCache}

View File

@ -23,7 +23,7 @@ public abstract class AbstractFileCache implements Serializable{
protected final long timeout;
/** 缓存实现 */
protected final Cache<File, byte[]> cache;
/** 已使用缓存空间 */
protected int usedSize;
@ -122,7 +122,7 @@ public abstract class AbstractFileCache implements Serializable{
return bytes;
}
// ---------------------------------------------------------------- protected method start
/**
* 初始化实现文件缓存的缓存对象

View File

@ -12,7 +12,7 @@ import cn.hutool.cache.impl.LFUCache;
*/
public class LFUFileCache extends AbstractFileCache{
private static final long serialVersionUID = 1L;
/**
* 构造<br>
* 最大文件大小为缓存容量的一半<br>

View File

@ -12,7 +12,7 @@ import cn.hutool.cache.impl.LRUCache;
*/
public class LRUFileCache extends AbstractFileCache{
private static final long serialVersionUID = 1L;
/**
* 构造<br>
* 最大文件大小为缓存容量的一半<br>

View File

@ -1,6 +1,6 @@
/**
* 提供针对文件的缓存实现
*
*
* @author looly
*
*/

View File

@ -12,20 +12,20 @@ import java.util.concurrent.atomic.AtomicLong;
*/
public class CacheObj<K, V> implements Serializable{
private static final long serialVersionUID = 1L;
protected final K key;
protected final V obj;
/** 上次访问时间 */
private volatile long lastAccess;
/** 访问次数 */
protected AtomicLong accessCount = new AtomicLong();
/** 对象存活时长0表示永久存活*/
private final long ttl;
/**
* 构造
*
*
* @param key
* @param obj
* @param ttl 超时时长
@ -36,10 +36,10 @@ public class CacheObj<K, V> implements Serializable{
this.ttl = ttl;
this.lastAccess = System.currentTimeMillis();
}
/**
* 判断是否过期
*
*
* @return 是否过期
*/
boolean isExpired() {
@ -49,10 +49,10 @@ public class CacheObj<K, V> implements Serializable{
}
return false;
}
/**
* 获取值
*
*
* @param isUpdateLastAccess 是否更新最后访问时间
* @return 获得对象
* @since 4.0.10
@ -64,7 +64,7 @@ public class CacheObj<K, V> implements Serializable{
accessCount.getAndIncrement();
return this.obj;
}
/**
* 获取键
* @return
@ -73,7 +73,7 @@ public class CacheObj<K, V> implements Serializable{
public K getKey() {
return this.key;
}
/**
* 获取值
* @return
@ -82,7 +82,7 @@ public class CacheObj<K, V> implements Serializable{
public V getValue() {
return this.obj;
}
@Override
public String toString() {
return "CacheObj [key=" + key + ", obj=" + obj + ", lastAccess=" + lastAccess + ", accessCount=" + accessCount + ", ttl=" + ttl + "]";

View File

@ -6,7 +6,7 @@ import java.util.NoSuchElementException;
/**
* {@link cn.hutool.cache.impl.AbstractCache} 的CacheObj迭代器.
*
*
* @author looly
*
* @param <K> 键类型
@ -21,7 +21,7 @@ public class CacheObjIterator<K, V> implements Iterator<CacheObj<K, V>>, Seriali
/**
* 构造
*
*
* @param iterator {@link Iterator}
*/
CacheObjIterator(Iterator<CacheObj<K, V>> iterator) {

View File

@ -7,7 +7,7 @@ import java.util.Iterator;
/**
* 无缓存实现用于快速关闭缓存
*
*
* @param <K> 键类型
* @param <V> 值类型
* @author Looly,jodd
@ -49,7 +49,7 @@ public class NoCache<K, V> implements Cache<K, V> {
public V get(K key, boolean isUpdateLastAccess) {
return null;
}
@Override
public V get(K key, Func0<V> supplier) {
return get(key, true, supplier);
@ -78,7 +78,7 @@ public class NoCache<K, V> implements Cache<K, V> {
}
};
}
@Override
public Iterator<CacheObj<K, V>> cacheObjIterator() {
return null;

View File

@ -1,6 +1,6 @@
/**
* 提供各种缓存实现
*
*
* @author looly
*
*/

View File

@ -1,6 +1,6 @@
/**
* 提供简易的缓存实现此模块参考了jodd工具中的Cache模块
*
*
* @author looly
*
*/

View File

@ -14,7 +14,7 @@ import org.junit.Test;
*
*/
public class CacheTest {
@Test
public void fifoCacheTest(){
Cache<String,String> fifoCache = CacheUtil.newFIFOCache(3);
@ -28,22 +28,22 @@ public class CacheTest {
fifoCache.put("key2", "value2", DateUnit.SECOND.getMillis() * 3);
fifoCache.put("key3", "value3", DateUnit.SECOND.getMillis() * 3);
fifoCache.put("key4", "value4", DateUnit.SECOND.getMillis() * 3);
//由于缓存容量只有3当加入第四个元素的时候根据FIFO规则最先放入的对象将被移除
String value1 = fifoCache.get("key1");
Assert.assertNull(value1);
}
@Test
public void lfuCacheTest(){
Cache<String, String> lfuCache = CacheUtil.newLFUCache(3);
lfuCache.put("key1", "value1", DateUnit.SECOND.getMillis() * 3);
//使用次数+1
lfuCache.get("key1");
lfuCache.get("key1");
lfuCache.put("key2", "value2", DateUnit.SECOND.getMillis() * 3);
lfuCache.put("key3", "value3", DateUnit.SECOND.getMillis() * 3);
lfuCache.put("key4", "value4", DateUnit.SECOND.getMillis() * 3);
//由于缓存容量只有3当加入第四个元素的时候根据LFU规则最少使用的将被移除2,3被移除
String value1 = lfuCache.get("key1");
String value2 = lfuCache.get("key2");
@ -52,7 +52,7 @@ public class CacheTest {
Assert.assertNull(value2);
Assert.assertNull(value3);
}
@Test
public void lruCacheTest(){
Cache<String, String> lruCache = CacheUtil.newLRUCache(3);
@ -71,7 +71,7 @@ public class CacheTest {
String value2 = lruCache.get("key2");
Assert.assertNull(value2);
}
@Test
public void timedCacheTest(){
TimedCache<String, String> timedCache = CacheUtil.newTimedCache(4);
@ -80,29 +80,29 @@ public class CacheTest {
timedCache.put("key2", "value2", DateUnit.SECOND.getMillis() * 5);//5秒过期
timedCache.put("key3", "value3");//默认过期(4毫秒)
timedCache.put("key4", "value4", Long.MAX_VALUE);//永不过期
//启动定时任务每5毫秒秒检查一次过期
timedCache.schedulePrune(5);
//等待5毫秒
ThreadUtil.sleep(5);
//5毫秒后由于value2设置了5毫秒过期因此只有value2被保留下来
String value1 = timedCache.get("key1");
Assert.assertNull(value1);
String value2 = timedCache.get("key2");
Assert.assertEquals("value2", value2);
//5毫秒后由于设置了默认过期key3只被保留4毫秒因此为null
String value3 = timedCache.get("key3");
Assert.assertNull(value3);
String value3Supplier = timedCache.get("key3", () -> "Default supplier");
Assert.assertEquals("Default supplier", value3Supplier);
// 永不过期
String value4 = timedCache.get("key4");
Assert.assertEquals("value4", value4);
//取消定时清理
timedCache.cancelPruneSchedule();
}

View File

@ -13,7 +13,7 @@ import java.util.concurrent.ThreadLocalRandom;
/**
* 圆圈干扰验证码
*
*
* @author looly
* @since 3.2.3
*
@ -23,7 +23,7 @@ public class CircleCaptcha extends AbstractCaptcha {
/**
* 构造
*
*
* @param width 图片宽
* @param height 图片高
*/
@ -33,7 +33,7 @@ public class CircleCaptcha extends AbstractCaptcha {
/**
* 构造
*
*
* @param width 图片宽
* @param height 图片高
* @param codeCount 字符个数
@ -44,7 +44,7 @@ public class CircleCaptcha extends AbstractCaptcha {
/**
* 构造
*
*
* @param width 图片宽
* @param height 图片高
* @param codeCount 字符个数
@ -71,7 +71,7 @@ public class CircleCaptcha extends AbstractCaptcha {
// ----------------------------------------------------------------------------------------------------- Private method start
/**
* 绘制字符串
*
*
* @param g {@link Graphics2D}画笔
* @param code 验证码
*/
@ -85,7 +85,7 @@ public class CircleCaptcha extends AbstractCaptcha {
/**
* 画随机干扰
*
*
* @param g {@link Graphics2D}
*/
private void drawInterfere(Graphics2D g) {

View File

@ -5,7 +5,7 @@ import java.io.Serializable;
/**
* 验证码接口提供验证码对象接口定义
*
*
* @author looly
*
*/
@ -18,14 +18,14 @@ public interface ICaptcha extends Serializable{
/**
* 获取验证码的文字内容
*
*
* @return 验证码文字内容
*/
String getCode();
/**
* 验证验证码是否正确建议忽略大小写
*
*
* @param userInputCode 用户输入的验证码
* @return 是否与生成的一直
*/
@ -33,7 +33,7 @@ public interface ICaptcha extends Serializable{
/**
* 将验证码写出到目标流中
*
*
* @param out 目标流
*/
void write(OutputStream out);

View File

@ -14,7 +14,7 @@ import cn.hutool.core.util.RandomUtil;
/**
* 使用干扰线方式生成的图形验证码
*
*
* @author looly
* @since 3.1.2
*/
@ -24,7 +24,7 @@ public class LineCaptcha extends AbstractCaptcha {
// -------------------------------------------------------------------- Constructor start
/**
* 构造默认5位验证码150条干扰线
*
*
* @param width 图片宽
* @param height 图片高
*/
@ -34,7 +34,7 @@ public class LineCaptcha extends AbstractCaptcha {
/**
* 构造
*
*
* @param width 图片宽
* @param height 图片高
* @param codeCount 字符个数
@ -63,7 +63,7 @@ public class LineCaptcha extends AbstractCaptcha {
// ----------------------------------------------------------------------------------------------------- Private method start
/**
* 绘制字符串
*
*
* @param g {@link Graphics}画笔
* @param code 验证码
*/
@ -77,7 +77,7 @@ public class LineCaptcha extends AbstractCaptcha {
/**
* 绘制干扰线
*
*
* @param g {@link Graphics2D}画笔
*/
private void drawInterfere(Graphics2D g) {

View File

@ -13,7 +13,7 @@ import java.awt.image.BufferedImage;
/**
* 扭曲干扰验证码
*
*
* @author looly
* @since 3.2.3
*
@ -23,7 +23,7 @@ public class ShearCaptcha extends AbstractCaptcha {
/**
* 构造
*
*
* @param width 图片宽
* @param height 图片高
*/
@ -33,7 +33,7 @@ public class ShearCaptcha extends AbstractCaptcha {
/**
* 构造
*
*
* @param width 图片宽
* @param height 图片高
* @param codeCount 字符个数
@ -44,7 +44,7 @@ public class ShearCaptcha extends AbstractCaptcha {
/**
* 构造
*
*
* @param width 图片宽
* @param height 图片高
* @param codeCount 字符个数
@ -73,7 +73,7 @@ public class ShearCaptcha extends AbstractCaptcha {
// ----------------------------------------------------------------------------------------------------- Private method start
/**
* 绘制字符串
*
*
* @param g {@link Graphics}画笔
* @param code 验证码
*/
@ -87,7 +87,7 @@ public class ShearCaptcha extends AbstractCaptcha {
/**
* 扭曲
*
*
* @param g {@link Graphics}
* @param w1 w1
* @param h1 h1
@ -100,7 +100,7 @@ public class ShearCaptcha extends AbstractCaptcha {
/**
* X坐标扭曲
*
*
* @param g {@link Graphics}
* @param w1
* @param h1
@ -125,7 +125,7 @@ public class ShearCaptcha extends AbstractCaptcha {
/**
* Y坐标扭曲
*
*
* @param g {@link Graphics}
* @param w1
* @param h1
@ -150,7 +150,7 @@ public class ShearCaptcha extends AbstractCaptcha {
/**
* 干扰线
*
*
* @param g {@link Graphics}
* @param x1 x1
* @param y1 y1

View File

@ -5,21 +5,21 @@ import cn.hutool.core.util.RandomUtil;
/**
* 随机字符验证码生成器<br>
* 可以通过传入的基础集合和长度随机生成验证码字符
*
*
* @author looly
* @since 4.1.2
*/
public abstract class AbstractGenerator implements CodeGenerator {
private static final long serialVersionUID = 8685744597154953479L;
/** 基础字符集合,用于随机获取字符串的字符集合 */
protected final String baseStr;
/** 验证码长度 */
protected final int length;
/**
* 构造使用字母+数字做为基础
*
*
* @param count 生成验证码长度
*/
public AbstractGenerator(int count) {
@ -28,7 +28,7 @@ public abstract class AbstractGenerator implements CodeGenerator {
/**
* 构造
*
*
* @param baseStr 基础字符集合用于随机获取字符串的字符集合
* @param length 生成验证码长度
*/
@ -39,7 +39,7 @@ public abstract class AbstractGenerator implements CodeGenerator {
/**
* 获取长度验证码
*
*
* @return 验证码长度
*/
public int getLength() {

View File

@ -4,7 +4,7 @@ import java.io.Serializable;
/**
* 验证码文字生成器
*
*
* @author looly
* @since 4.1.2
*/
@ -12,7 +12,7 @@ public interface CodeGenerator extends Serializable{
/**
* 生成验证码
*
*
* @return 验证码
*/
String generate();
@ -20,7 +20,7 @@ public interface CodeGenerator extends Serializable{
/**
* 验证用户输入的字符串是否与生成的验证码匹配<br>
* 用户通过实现此方法定义验证码匹配方式
*
*
* @param code 生成的随机验证码
* @param userInputCode 用户输入的验证码
* @return 是否验证通过

View File

@ -7,7 +7,7 @@ import cn.hutool.core.util.StrUtil;
/**
* 数字计算验证码生成器
*
*
* @author looly
* @since 4.1.2
*/
@ -28,7 +28,7 @@ public class MathGenerator implements CodeGenerator {
/**
* 构造
*
*
* @param numberLength 参与计算最大数字位数
*/
public MathGenerator(int numberLength) {
@ -75,7 +75,7 @@ public class MathGenerator implements CodeGenerator {
/**
* 根据长度获取参与计算数字最大值
*
*
* @return 最大值
*/
private int getLimit() {