add comment and test

This commit is contained in:
Looly 2020-09-01 15:53:16 +08:00
parent 981bc843e1
commit 025728e389
5 changed files with 28 additions and 3 deletions

View File

@ -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);
}

View File

@ -16,9 +16,10 @@ import java.util.concurrent.ExecutorService;
* ps:
* //模拟1000个线程并发
* SyncFinisher sf = new SyncFinisher(1000);
* concurrencyTestUtil.run(() -&gt; {
* sf.addWorker(() -&gt; {
* // 需要并发测试的业务代码
* });
* sf.start()
* </pre>
*
*

View 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());
}
}

View File

@ -56,4 +56,5 @@ public class TypeUtilTest {
public void service(String string) {
}
}
}

View File

@ -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 {