diff --git a/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java b/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java index d6f634f9a..228951a2e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java +++ b/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java @@ -1,5 +1,8 @@ package cn.hutool.core.thread; +import cn.hutool.core.builder.Builder; +import cn.hutool.core.util.ObjectUtil; + import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ExecutorService; @@ -11,12 +14,16 @@ import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; -import cn.hutool.core.builder.Builder; -import cn.hutool.core.util.ObjectUtil; - /** * {@link ThreadPoolExecutor} 建造者 * + *
+ * 1. 如果池中任务数 < corePoolSize -》 放入立即执行 + * 2. 如果池中任务数 > corePoolSize -》 放入队列等待 + * 3. 队列满 -》 新建线程立即执行 + * 4. 执行中的线程 > maxPoolSize -》 触发handler(RejectedExecutionHandler)异常 + *+ * * @author looly * @since 4.1.9 */ @@ -39,7 +46,7 @@ public class ExecutorBuilder implements Builder
* 1. {@link SynchronousQueue} 它将任务直接提交给线程而不保持它们。当运行线程小于maxPoolSize时会创建新线程,否则触发异常策略
- * 2. {@link LinkedBlockingQueue} 默认无界队列,当运行线程大于corePoolSize时始终放入此队列,此时maximumPoolSize无效。
+ * 2. {@link LinkedBlockingQueue} 默认无界队列,当运行线程大于corePoolSize时始终放入此队列,此时maxPoolSize无效。
* 当构造LinkedBlockingQueue对象时传入参数,变为有界队列,队列满时,运行线程小于maxPoolSize时会创建新线程,否则触发异常策略
* 3. {@link ArrayBlockingQueue} 有界队列,相对无界队列有利于控制队列大小,队列满时,运行线程小于maxPoolSize时会创建新线程,否则触发异常策略
*
diff --git a/hutool-core/src/main/java/cn/hutool/core/thread/ThreadUtil.java b/hutool-core/src/main/java/cn/hutool/core/thread/ThreadUtil.java
index ab8ba9ef1..b7a5fe9db 100644
--- a/hutool-core/src/main/java/cn/hutool/core/thread/ThreadUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/thread/ThreadUtil.java
@@ -31,7 +31,7 @@ public class ThreadUtil {
* @param corePoolSize 同时执行的线程数大小
* @return ExecutorService
*/
- public static ExecutorService newExecutor(int corePoolSize) {
+ public static ExecutorService newExecutor(int corePoolSize) {
ExecutorBuilder builder = ExecutorBuilder.create();
if (corePoolSize > 0) {
builder.setCorePoolSize(corePoolSize);
diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/ECIESTest.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/ECIESTest.java
similarity index 90%
rename from hutool-crypto/src/test/java/cn/hutool/crypto/test/ECIESTest.java
rename to hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/ECIESTest.java
index ca83c61ad..1b83fe4f0 100644
--- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/ECIESTest.java
+++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/ECIESTest.java
@@ -1,4 +1,4 @@
-package cn.hutool.crypto.test;
+package cn.hutool.crypto.test.asymmetric;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.asymmetric.ECIES;
diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/RSATest.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/RSATest.java
similarity index 97%
rename from hutool-crypto/src/test/java/cn/hutool/crypto/test/RSATest.java
rename to hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/RSATest.java
index fcb9faa70..f8c309612 100644
--- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/RSATest.java
+++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/RSATest.java
@@ -1,4 +1,4 @@
-package cn.hutool.crypto.test;
+package cn.hutool.crypto.test.asymmetric;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.util.ArrayUtil;
diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/SM2Test.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/SM2Test.java
similarity index 90%
rename from hutool-crypto/src/test/java/cn/hutool/crypto/test/SM2Test.java
rename to hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/SM2Test.java
index a5ed710d8..56abb282d 100644
--- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/SM2Test.java
+++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/SM2Test.java
@@ -1,4 +1,4 @@
-package cn.hutool.crypto.test;
+package cn.hutool.crypto.test.asymmetric;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.util.CharsetUtil;
@@ -19,9 +19,8 @@ import java.security.PublicKey;
/**
* SM2算法单元测试
- *
- * @author Looly, Gsealy
*
+ * @author Looly, Gsealy
*/
public class SM2Test {
@@ -71,7 +70,7 @@ public class SM2Test {
byte[] decrypt = sm2.decrypt(encrypt, KeyType.PrivateKey);
Assert.assertEquals("我是一段测试aaaa", StrUtil.str(decrypt, CharsetUtil.CHARSET_UTF_8));
}
-
+
@Test
public void sm2BcdTest() {
String text = "我是一段测试aaaa";
@@ -138,6 +137,19 @@ public class SM2Test {
KeyPair pair = SecureUtil.generateKeyPair("SM2");
+ final SM2 sm2 = new SM2(pair.getPrivate(), pair.getPublic());
+
+ byte[] sign = sm2.sign(content.getBytes());
+ boolean verify = sm2.verify(content.getBytes(), sign);
+ Assert.assertTrue(verify);
+ }
+
+ @Test
+ public void sm2SignAndVerifyUseKeyTest2() {
+ String content = "我是Hanley.";
+
+ KeyPair pair = SecureUtil.generateKeyPair("SM2");
+
final SM2 sm2 = new SM2(//
HexUtil.encodeHexStr(pair.getPrivate().getEncoded()), //
HexUtil.encodeHexStr(pair.getPublic().getEncoded())//
@@ -162,7 +174,7 @@ public class SM2Test {
}
@Test
- public void sm2WithPointTest(){
+ public void sm2WithPointTest() {
String d = "FAB8BBE670FAE338C9E9382B9FB6485225C11A3ECB84C938F10F20A93B6215F0";
String x = "9EF573019D9A03B16B0BE44FC8A5B4E8E098F56034C97B312282DD0B4810AFC3";
String y = "CC759673ED0FC9B9DC7E6FA38F0E2B121E02654BF37EA6B63FAF2A0D6013EADF";
@@ -176,7 +188,7 @@ public class SM2Test {
}
@Test
- public void sm2PlainWithPointTest(){
+ public void sm2PlainWithPointTest() {
// 测试地址:https://i.goto327.top/CryptTools/SM2.aspx?tdsourcetag=s_pctim_aiomsg
String d = "FAB8BBE670FAE338C9E9382B9FB6485225C11A3ECB84C938F10F20A93B6215F0";
diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/SignTest.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/SignTest.java
similarity index 96%
rename from hutool-crypto/src/test/java/cn/hutool/crypto/test/SignTest.java
rename to hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/SignTest.java
index 33d88203e..a16d4f562 100644
--- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/SignTest.java
+++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/SignTest.java
@@ -1,4 +1,4 @@
-package cn.hutool.crypto.test;
+package cn.hutool.crypto.test.asymmetric;
import cn.hutool.core.map.MapUtil;
import org.junit.Assert;
diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/HmacTest.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/digest/HmacTest.java
similarity index 94%
rename from hutool-crypto/src/test/java/cn/hutool/crypto/test/HmacTest.java
rename to hutool-crypto/src/test/java/cn/hutool/crypto/test/digest/HmacTest.java
index 1fd247926..b29e6d47a 100644
--- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/HmacTest.java
+++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/digest/HmacTest.java
@@ -1,4 +1,4 @@
-package cn.hutool.crypto.test;
+package cn.hutool.crypto.test.digest;
import org.junit.Assert;
import org.junit.Test;
diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/AESTest.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/AESTest.java
similarity index 88%
rename from hutool-crypto/src/test/java/cn/hutool/crypto/test/AESTest.java
rename to hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/AESTest.java
index 87dd38f2f..f89c9cfc2 100644
--- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/AESTest.java
+++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/AESTest.java
@@ -1,4 +1,4 @@
-package cn.hutool.crypto.test;
+package cn.hutool.crypto.test.symmetric;
import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding;
diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/DesTest.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/DesTest.java
similarity index 92%
rename from hutool-crypto/src/test/java/cn/hutool/crypto/test/DesTest.java
rename to hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/DesTest.java
index 649c35d2c..34554aeda 100644
--- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/DesTest.java
+++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/DesTest.java
@@ -1,4 +1,4 @@
-package cn.hutool.crypto.test;
+package cn.hutool.crypto.test.symmetric;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.Mode;
diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/RC4Test.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/RC4Test.java
similarity index 92%
rename from hutool-crypto/src/test/java/cn/hutool/crypto/test/RC4Test.java
rename to hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/RC4Test.java
index 5785182af..7869edc6a 100644
--- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/RC4Test.java
+++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/RC4Test.java
@@ -1,4 +1,4 @@
-package cn.hutool.crypto.test;
+package cn.hutool.crypto.test.symmetric;
import org.junit.Assert;
import org.junit.Test;
diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/SymmetricTest.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/SymmetricTest.java
similarity index 95%
rename from hutool-crypto/src/test/java/cn/hutool/crypto/test/SymmetricTest.java
rename to hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/SymmetricTest.java
index 0580ac3fd..7b490c816 100644
--- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/SymmetricTest.java
+++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/SymmetricTest.java
@@ -1,4 +1,4 @@
-package cn.hutool.crypto.test;
+package cn.hutool.crypto.test.symmetric;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.RandomUtil;