随机ID

简介: 提供两个Java方法:一个生成指定长度的随机数字与大小写字母组合字符串,另一个仅生成指定长度的随机数字。适用于需要随机验证码、密码等场景,使用简单,可直接调用。

指定长度随机数字和字母字符串
Java
运行代码
复制代码

public static String getStringRandom(int length) {
String val = "";
Random random = new Random();
// 参数length,表示生成几位随机数
for (int i = 0; i < length; i++) {
String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
// 输出字母还是数字
if ("char".equalsIgnoreCase(charOrNum)) {
// 输出是大写字母还是小写字母
int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;
val += (char) (random.nextInt(26) + temp);
} else if ("num".equalsIgnoreCase(charOrNum)) {
val += String.valueOf(random.nextInt(10));
}
}
return val;
}
指定长度随机数字
Java
运行代码
复制代码

public static String getOnlyNumRandom(int length) {
String val = "";
Random random = new Random();
for (int i = 0; i < length; i++) {
val += String.valueOf(random.nextInt(10));
}
return val;
}

相关文章
|
算法 安全 Java
使用Collections.shuffle打乱集合顺序
使用Collections.shuffle打乱集合顺序
|
XML Java Android开发
Android Studio App开发之使用相机拍摄照片和从相册中选取图片(附源码 超详细必看)
Android Studio App开发之使用相机拍摄照片和从相册中选取图片(附源码 超详细必看)
2238 2
|
3月前
|
存储 缓存 安全
One Trick Per Day
初始化Map应避免默认容量导致扩容,推荐Guava的`newHashMapWithExpectedSize`;禁用Executors创建线程池,防止OOM,应手动通过`ThreadPoolExecutor`设置合理参数;`Arrays.asList`返回不可变列表,禁止修改操作;遍历Map使用`entrySet`提升性能;`SimpleDateFormat`非线程安全,建议用`ThreadLocal`或Java8时间类;并发修改记录需加锁,优先乐观锁,冲突高则用悲观锁。
|
3月前
|
消息中间件 监控 Java
RocketMQ:底层Netty频繁OS OOM
本文记录了一例Java应用因多ClassLoader加载多个Netty的PooledByteBufAllocator导致堆外内存超限,引发OS OOM的排查过程。尽管MaxDirectMemorySize设为1G,但多个中间件独立占用堆外内存,总量远超限制。通过NMT、Arthas等工具定位到RocketMQ客户端为主要占用者。最终建议短期调小堆内存以腾出空间,并推动中间件优化。
|
3月前
|
运维 安全 Devops
生产环境缺陷管理
git-poison基于go-git实现分布式bug追溯,解决多分支开发中bug漏修、漏发等问题。通过“投毒-解毒”机制,自动化卡点发布流程,降低协同成本,避免人为失误,已在大型团队落地应用,显著提升发布安全与效率。
|
3月前
|
自然语言处理 fastjson Java
FastJson:大面积故障规避案例
本文分享了一次因Kotlin语法误用导致FastJson反序列化全局异常的排查经历。在多语言混编工程中,`{}`被误赋值为Java对象字段,触发FastJson解析Kotlin类时将静态标记`kotlin_error`置为true且无法恢复,最终引发全量反序列化失败。问题隐蔽性强,影响范围大,历时两天定位。反思指出:多语言开发需谨慎、框架有局限、灰度发布至关重要,并强调Bug是成长的阶梯。
|
3月前
|
缓存 运维 监控
一场FullGC故障排查
本文记录了线上容器 CPU 使用率达 104% 告警的排查与解决过程。排查初期,因机器内存使用率正常(62%),排除 Full GC、接口高并发等猜测,后发现监控偏差,通过 JVM 监控确认 Full GC 导致 CPU 飙升。经 JProfiler 分析堆内存快照,定位到问题根源:Excel 解析<Map>对象长期占用堆内存,空间效率低,且因任务逻辑长期存在(4-12 小时),易打满老年代触发 Full GC。解决方案分两类:一是激进方案(数据存入 Redis,彻底避免内存占用),二是保守方案(删除无用字段、优化缓存逻辑缩减数据量)。最后总结排查要点,强调 JVM 监控的重要性及大对象排查的
|
3月前
|
存储 Java
超长String接收处理
Java中字符串变量最大长度可达Integer.MAX_VALUE,但字符串字面量受class文件格式限制,理论最大65535,实际仅支持65534。超长字面量编译报错,需通过StringBuilder分段处理,避免“常量字符串过长”问题。
|
3月前
|
Java 测试技术 Linux
生产环境发布管理
本文介绍大型团队如何通过自动化部署平台实现多环境(dev/test/pre/prod)高效发布与运维。涵盖各环境职责、基于Jenkins+K8S的CI/CD流程、分支管理、一键发布及日志排查方案,结合Skywalking实现链路追踪,提升发布效率与问题定位能力。(238字)
|
3月前
|
存储 API 数据库
Activiti框架拓展
Activiti表结构以ACT_开头,分五类:ACT_RE_*存流程定义等静态资源;ACT_RU_*存运行时实例、任务等数据;ACT_HI_*存历史记录;ACT_ID_*管理用户组信息;ACT_GE_*处理通用数据。各表协同支持流程引擎高效运作。

热门文章

最新文章