一段耗CPU的随机生成字符串的代码,why?
感兴趣的同学可以把下面的代码copy到机器上执行看看(例如java GenRandomStringTest 50 100 1024),会发现是挺耗CPU的,原因是什么呢? 有什么建议吗?
GenRandomStringTest代码如下,也可从这下载:
ps: 不过话说以这种方式随机生成指定大小的字符串还是挺耗时的,也欢迎提供建议,:).
?
源码如下:
?
import java.util.Random;public class RandomStringUtils { private static final String KEY_SEED="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; private static final int KEY_SEED_LEN=KEY_SEED.length(); private static final char[] KEY_SEED_CHARS=KEY_SEED.toCharArray(); private static Random random = new Random(); public static byte[] generateBytes(int length){ StringBuilder keyBuilder=new StringBuilder(length); for (int i = 0; i < length; i++) { keyBuilder.append(KEY_SEED_CHARS[random.nextInt(KEY_SEED_LEN)]); } return keyBuilder.toString().getBytes(); }}