读书人

一段耗CPU的随机生成字符串的代码why

发布时间: 2012-11-08 08:48:11 作者: rapoo

一段耗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();        }}

读书人网 >编程

热点推荐