|
@@ -1,9 +1,16 @@
|
|
|
package com.museum.common.util;
|
|
|
|
|
|
+import cn.hutool.core.codec.Base64;
|
|
|
+import cn.hutool.crypto.SecureUtil;
|
|
|
+import cn.hutool.crypto.asymmetric.SignAlgorithm;
|
|
|
+import cn.hutool.crypto.digest.HMac;
|
|
|
+import com.google.common.util.concurrent.RateLimiter;
|
|
|
import org.junit.Test;
|
|
|
|
|
|
+import java.io.File;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
|
* Created by owen on 2020/5/8 0008 14:36
|
|
@@ -22,4 +29,68 @@ public class Test123 {
|
|
|
System.out.println(map);
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void base64(){
|
|
|
+ String encode = Base64.encode(new File("F:\\work\\上海历史博物馆\\原型\\原型逻辑说明.png"));
|
|
|
+ System.out.println(encode);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void md5(){
|
|
|
+ String url = "www.baidu.com123";
|
|
|
+// SignAlgorithm.
|
|
|
+// SecureUtil.sign();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ //1秒产生1个令牌
|
|
|
+ final RateLimiter rateLimiter = RateLimiter.create(1);
|
|
|
+ for (int i = 0; i < 10; i++) {
|
|
|
+ //该方法会阻塞线程,直到令牌桶中能取到令牌为止才继续向下执行。
|
|
|
+ double waitTime= rateLimiter.acquire();
|
|
|
+ System.out.println("任务执行" + i + "等待时间" + waitTime);
|
|
|
+ }
|
|
|
+ System.out.println("执行结束");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 令牌桶测试
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ public void testRateLimiter1 (){
|
|
|
+ //1秒产生1个令牌
|
|
|
+ final RateLimiter rateLimiter = RateLimiter.create(1);
|
|
|
+ for (int i = 0; i < 10; i++) {
|
|
|
+ //该方法会阻塞线程,直到令牌桶中能取到令牌为止才继续向下执行。
|
|
|
+ double waitTime= rateLimiter.acquire();
|
|
|
+ System.out.println("任务执行" + i + "等待时间" + waitTime);
|
|
|
+ }
|
|
|
+ System.out.println("执行结束");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testRateLimiter2 (){
|
|
|
+ final RateLimiter rateLimiter = RateLimiter.create(1);
|
|
|
+
|
|
|
+ for (int i = 0; i < 10; i++) {
|
|
|
+ long timeOut = (long) 0.5;
|
|
|
+ boolean isValid = rateLimiter.tryAcquire(timeOut, TimeUnit.SECONDS);
|
|
|
+ System.out.println("任务" + i + "执行是否有效:" + isValid);
|
|
|
+ if (!isValid) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ System.out.println("任务" + i + "在执行");
|
|
|
+ }
|
|
|
+ System.out.println("结束");
|
|
|
+ }
|
|
|
+
|
|
|
}
|