mirror of
https://gitee.com/dromara/sa-token.git
synced 2024-11-30 10:58:05 +08:00
修改随机数获取实现为ThreadLocalRandom,减少对象反复创建的开销,同时减少线程争用
This commit is contained in:
parent
286f8700ef
commit
8488bf8430
@ -10,7 +10,7 @@ import java.util.Collections;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.concurrent.ThreadLocalRandom;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import cn.dev33.satoken.exception.SaTokenException;
|
import cn.dev33.satoken.exception.SaTokenException;
|
||||||
@ -22,6 +22,10 @@ import cn.dev33.satoken.exception.SaTokenException;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class SaFoxUtil {
|
public class SaFoxUtil {
|
||||||
|
/**
|
||||||
|
* 可以减少线程争用的随机对象
|
||||||
|
*/
|
||||||
|
private static final ThreadLocalRandom random = ThreadLocalRandom.current();
|
||||||
|
|
||||||
private SaFoxUtil() {
|
private SaFoxUtil() {
|
||||||
}
|
}
|
||||||
@ -52,7 +56,6 @@ public class SaFoxUtil {
|
|||||||
*/
|
*/
|
||||||
public static String getRandomString(int length) {
|
public static String getRandomString(int length) {
|
||||||
String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
||||||
Random random = new Random();
|
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuffer sb = new StringBuffer();
|
||||||
for (int i = 0; i < length; i++) {
|
for (int i = 0; i < length; i++) {
|
||||||
int number = random.nextInt(62);
|
int number = random.nextInt(62);
|
||||||
@ -95,7 +98,7 @@ public class SaFoxUtil {
|
|||||||
* @return 随机字符串
|
* @return 随机字符串
|
||||||
*/
|
*/
|
||||||
public static String getMarking28() {
|
public static String getMarking28() {
|
||||||
return System.currentTimeMillis() + "" + new Random().nextInt(Integer.MAX_VALUE);
|
return System.currentTimeMillis() + "" + random.nextInt(Integer.MAX_VALUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user