mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
add comment and test
This commit is contained in:
parent
981bc843e1
commit
025728e389
@ -119,12 +119,14 @@ public class UUID implements java.io.Serializable, Comparable<UUID> {
|
||||
public static UUID randomUUID(boolean isSecure) {
|
||||
final Random ng = isSecure ? Holder.numberGenerator : RandomUtil.getRandom();
|
||||
|
||||
byte[] randomBytes = new byte[16];
|
||||
final byte[] randomBytes = new byte[16];
|
||||
ng.nextBytes(randomBytes);
|
||||
|
||||
randomBytes[6] &= 0x0f; /* clear version */
|
||||
randomBytes[6] |= 0x40; /* set to version 4 */
|
||||
randomBytes[8] &= 0x3f; /* clear variant */
|
||||
randomBytes[8] |= 0x80; /* set to IETF variant */
|
||||
|
||||
return new UUID(randomBytes);
|
||||
}
|
||||
|
||||
|
@ -16,9 +16,10 @@ import java.util.concurrent.ExecutorService;
|
||||
* ps:
|
||||
* //模拟1000个线程并发
|
||||
* SyncFinisher sf = new SyncFinisher(1000);
|
||||
* concurrencyTestUtil.run(() -> {
|
||||
* sf.addWorker(() -> {
|
||||
* // 需要并发测试的业务代码
|
||||
* });
|
||||
* sf.start()
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
|
21
hutool-core/src/test/java/cn/hutool/core/lang/UUIDTest.java
Normal file
21
hutool-core/src/test/java/cn/hutool/core/lang/UUIDTest.java
Normal file
@ -0,0 +1,21 @@
|
||||
package cn.hutool.core.lang;
|
||||
|
||||
import cn.hutool.core.collection.ConcurrentHashSet;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public class UUIDTest {
|
||||
|
||||
/**
|
||||
* 测试UUID是否存在重复问题
|
||||
*/
|
||||
@Test
|
||||
public void fastUUIDTest(){
|
||||
Set<String> set = new ConcurrentHashSet<>(100);
|
||||
ThreadUtil.concurrencyTest(100, ()-> set.add(UUID.fastUUID().toString()));
|
||||
Assert.assertEquals(100, set.size());
|
||||
}
|
||||
}
|
@ -56,4 +56,5 @@ public class TypeUtilTest {
|
||||
public void service(String string) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -204,7 +204,7 @@ public class SymmetricCrypto implements Serializable {
|
||||
} else {
|
||||
cipher.init(Cipher.ENCRYPT_MODE, secretKey, params);
|
||||
}
|
||||
return cipher.doFinal(paddingDataWithZero(data, cipher.getBlockSize()));
|
||||
return cipher.doFinal(paddingDataWithZero(data, cipher.getBlockSize()));
|
||||
} catch (Exception e) {
|
||||
throw new CryptoException(e);
|
||||
} finally {
|
||||
|
Loading…
x
Reference in New Issue
Block a user