感兴趣的同学可以把下面的代码copy到机器上执行看看(例如java GenRandomStringTest 50 100 1024),会发现是挺耗CPU的,原因是什么呢? 有什么建议吗?
GenRandomStringTest代码如下,也可从这下载
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import
java.util.Random;
public
class
GenRandomStringTest {
public
static
void
main(String[] args)
throws
Exception{
int
threadNums = Integer.parseInt(args[
0
]);
int
keySize = Integer.parseInt(args[
1
]);
int
valueSize = Integer.parseInt(args[
2
]);
for
(
int
i =
0
; i < threadNums; i++) {
new
Thread(
new
Test(keySize,valueSize)).start();
}
}
}
class
Test
implements
Runnable{
private
Random rand =
new
Random();
private
int
keySize =
0
;
private
int
valueSize =
0
;
public
Test(
int
keySize,
int
valueSize){
this
.keySize = keySize;
this
.valueSize = valueSize;
}
public
void
run() {
while
(
true
){
RandomStringUtils.generateBytes(keySize);
RandomStringUtils.generateBytes(valueSize);
try
{
Thread.sleep(rand.nextInt(
2
));
}
catch
(Exception e){
}
}
}
}
|
RandomStringUtils代码如下,由于blog渲染有问题,会丢失代码,只好截图如下了,也可从这下载
:
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();
}
}
分享到:
相关推荐
在这个场景中,"随机生成32位字符串"是一个常见的需求,例如在创建唯一标识符、生成安全密码或进行加密算法时。下面将详细介绍如何在VB中实现这一功能。 首先,我们要了解VB中的字符串是由一系列字符组成的,每个...
在C#编程语言中,生成随机字符串是一项常见的任务,它在许多应用场景中都有用到,例如测试数据的生成、密码的生成以及唯一标识符的创建等。本篇将深入探讨如何在C#中生成指定长度、包含字母或数字或者两者的混合随机...
以下是一个简单的示例代码,用于生成随机大小写字母字符串: ```csharp using System; public static string GenerateRandomString(int length) { Random random = new Random(); const string chars = ...
在这段代码中,最后使用`echo`语句调用`randStr(10)`来输出一个10位的随机字符串。` `标签用于换行,以便在浏览器中显示清晰的输出结果。 从这段代码中,我们可以提炼出几个关键知识点: 1. `rand()`函数:在...
而“正则表达式随机生成字符串工具”则是一个能够根据预设的正则规则,自动生成符合该规则的随机字符串的实用程序。 这个工具的核心功能在于其灵活性和多样性。通过定义不同的正则表达式,用户可以生成各种类型的...
使用Xeger的好处在于,生成的字符串不仅满足正则表达式的要求,还具有一定的随机性,这对于测试和代码覆盖率提升非常有用。下面是一个简单的使用Xeger的例子: ```java import org.pcollections.Xeger; public ...
总之,`aotu.js`的字符串指定字符随机生成汉字的功能,结合JavaScript的字符串和数学操作,为前端开发者提供了一种强大的工具,用于创建动态和多样化的汉字内容。在实际应用中,它可以帮助提高引流脚本的效果,增加...
总的来说,生成随机字符串和数字在C#编程中是一项基础且实用的技能。通过掌握`Random`类的使用和字符串操作,你可以轻松应对各种需求,无论是简单的测试数据填充还是复杂的安全性要求。在Visual Studio 2008中,这些...
本工具用于生成随机字符串,可以自定义字符池及字符串长度。欢迎下载使用! 本工具用于生成随机字符串,可以自定义字符池及字符串长度。欢迎下载使用!
js随机生成32位字符串 包含大小写
根据java正则表达式生成一个随机的字符串,具体可以去一下网站看:https://code.google.com/p/xeger/
Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持可选字符范围配置(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置),即在选择的字符范围内去实现随机字符串...
2. 初始化一个空字符串作为结果,用于存放生成的随机字符。 3. 根据需求设置循环次数,如取十万个字符,就设置循环100000次。 4. 在每次循环中,生成一个随机数,根据这个随机数的范围选择对应的字符集。 5. 使用...
为了实现这样的功能,开发者通常会编写一段代码,结合.NET Framework提供的API,例如使用Random类的Next方法生成随机整数,再结合Char结构的转换方法将数字映射到字符。同时,可能还会用到String类的构造函数来组合...
此方法是最常见的一种生成随机字符串的方式,它首先定义一个包含所有可能字符的字符串池,然后通过随机数生成器从中选择字符来构建随机字符串。 **代码示例:** ```java public String make() { String radStr = ...
java语言产生随机字符串代码正确版.txt
这个压缩包文件“易语言取随机字符源码.7z”包含的就是关于这一功能的源代码,可以帮助我们理解易语言如何实现随机字符生成。 在易语言中,生成随机字符通常涉及以下几个关键知识点: 1. **随机数生成**:首先,...
随机字符串自动生成器是一种工具,它能够根据用户设定的参数快速地创建一系列随机字符串。在IT行业中,这种工具被广泛应用于各种场景,如密码生成、数据填充、测试用例的创建以及安全令牌的生成等。下面我们将深入...