当前位置: 首页 > article >正文

Java的Random类

在Java中java.util.Random类是日常开发中最常用的伪随机数生成器。它基于线性同余算法生成随机数只要给定相同的初始值种子 seed就能生成完全相同的随机数序列。 Random 类的基础使用使用 Random 类非常简单通常分为两步创建对象推荐使用无参构造new Random()它会自动以当前系统时间纳秒级作为种子保证每次运行的随机性。调用方法根据需要生成不同类型或范围的随机数。常用方法速查表方法说明返回值范围示例nextInt()生成任意 int 整数-2³¹ 到 2³¹-1nextInt(int bound)生成指定上限的随机整数[0, bound) 左闭右开nextDouble()生成随机双精度浮点数[0.0, 1.0)nextBoolean()生成随机布尔值true 或 false各50%概率nextLong()生成任意 long 整数-2⁶³ 到 2⁶³-1nextGaussian()生成高斯正态分布的数均值为0标准差为1。取值范围是 (-∞, ∞)大概率[-1.0, 1.0]约 99.7% [-3.0, 3.0]基础代码示例importjava.util.Random;publicclassRandomDemo{publicstaticvoidmain(String[]args){// 1. 创建 Random 实例建议复用同一个实例避免在短时间内因种子相同产生重复序列RandomrandomnewRandom();// 2. 生成 [0, 10) 的随机整数即 0 到 9intnum1random.nextInt(10);// 3. 生成 [5, 15) 的随机整数即 5 到 14// 公式random.nextInt(最大值 - 最小值) 最小值intnum2random.nextInt(15-5)5;// 4. 生成 [1, 6) 的随机整数模拟掷骰子闭区间intdicerandom.nextInt(6)1;// 5. 生成 [0.0, 1.0) 的随机小数doubledrandom.nextDouble();}}⚙️ 核心原理种子Seed的作用Random 是“伪随机”的。如果你在创建对象时指定了固定的种子例如new Random(12345L)那么无论你运行多少次程序它生成的随机数序列永远是固定且可预测的。这在单元测试或算法调试中非常有用但在生产环境中应避免硬编码固定种子否则可能导致集群中多个服务生成完全相同的“随机”ID。 进阶多线程与高并发场景ThreadLocalRandomRandom类在多线程环境下是线程安全的但它内部使用 CAS比较并交换机制来保证原子性。在高并发场景下多个线程竞争同一个Random实例会导致严重的性能瓶颈。在并发环境下强烈推荐使用java.util.concurrent.ThreadLocalRandom。它为每个线程维护独立的随机数生成器完全无锁性能极高。ThreadLocalRandom 的用法importjava.util.concurrent.ThreadLocalRandom;// 获取当前线程的 ThreadLocalRandom 实例不能 newThreadLocalRandomrandomThreadLocalRandom.current();// 生成 [10, 100) 的随机整数ThreadLocalRandom 原生支持直接指定上下限intnumrandom.nextInt(10,100); 安全场景密码与密钥生成SecureRandom如果你的随机数用于生成密码、加密密钥、Token、盐值等安全敏感信息Random和ThreadLocalRandom都是不合格的因为它们的算法容易被预测。此时必须使用java.security.SecureRandom。它基于操作系统的熵源如/dev/random生成真正的强随机数虽然初始化稍慢但具备极高的安全性不可被预测。 总结与选型建议普通单线程/低并发业务如抽奖、模拟数据使用Random。高并发/多线程业务如Web服务生成订单号首选ThreadLocalRandom。安全敏感业务如生成Token、密钥必须使用SecureRandom。

相关文章:

Java的Random类

在Java中,java.util.Random 类是日常开发中最常用的伪随机数生成器。它基于线性同余算法生成随机数,只要给定相同的初始值(种子 seed),就能生成完全相同的随机数序列。 🎲 Random 类的基础使用 使用 Random…...

光子储层计算在无人机动态补偿中的创新应用

1. 深度光子储层计算在无人机动态补偿中的创新应用在无人机控制领域,传统PID控制器面对复杂流体环境时往往力不从心。当无人机在狭窄空间或近地面飞行时,地面效应、天花板效应以及湍流再循环等未建模动力学因素会导致显著的性能下降。我在参与某城市峡谷…...

2026绍兴本地GEO优化公司实测:服务规范与效果验证全解析

引言随着AI搜索算法的不断迭代,绍兴本地企业对GEO(生成式引擎优化)服务的需求日益增长。为了帮助这些企业在选择GEO优化服务商时做出明智决策,本测评以客观、中立的态度,基于EEAT原则(经验、专业性、权威性…...

如何在3分钟内完成Windows与Office智能激活:KMS_VL_ALL_AIO完全指南

如何在3分钟内完成Windows与Office智能激活:KMS_VL_ALL_AIO完全指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows操作系统和Office办公软件的正版激活而烦恼吗&…...

ElevenLabs账号被限频?紧急修复手册:3分钟绕过Rate Limit限制,解锁Pro级语音并发权限

更多请点击: https://intelliparadigm.com 第一章:ElevenLabs超写实语音生成教程 ElevenLabs 是当前业界领先的 AI 语音合成平台,其模型在语调自然度、情感表达力与跨语言一致性方面表现卓越。本章将指导你完成从 API 接入到高质量语音生成的…...

CSS 视图过渡完全指南

CSS 视图过渡完全指南 引言 CSS 视图过渡(View Transitions)是一个强大的新特性,它允许开发者创建平滑的页面过渡动画。本文将深入探讨视图过渡的各种用法和高级技巧。 基础概念回顾 什么是视图过渡 视图过渡 API 允许你在 DOM 状态变化时创建…...

v7上线首周,93%老用户没发现的隐藏指令——高阶提示工程实战手册,含12个未公开参数调用语法

更多请点击: https://intelliparadigm.com 第一章:Midjourney v7核心架构升级与隐性能力图谱 多模态融合推理引擎重构 Midjourney v7 引入了基于分层注意力对齐(Hierarchical Attention Alignment, HAA)的新型生成主干&#xff…...

Happy Island Designer完整指南:免费在线岛屿设计工具终极教程

Happy Island Designer完整指南:免费在线岛屿设计工具终极教程 【免费下载链接】HappyIslandDesigner "Happy Island Designer (Alpha)",是一个在线工具,它允许用户设计和定制自己的岛屿。这个工具是受游戏《动物森友会》(Animal C…...

抖音图片怎么去水印?2026实测去水印方法全整理,免费工具一并推荐

抖音图片怎么去水印?2026实测去水印方法全整理,免费工具一并推荐 每次在抖音刷到一张好看的图,长按保存下来却发现角落盖着一行"昵称抖音"水印,这种体验相信不少人都经历过。水印不影响欣赏还好,但如果想把图…...

抖音无水印下载神器:douyin-downloader完整指南,轻松保存高清视频

抖音无水印下载神器:douyin-downloader完整指南,轻松保存高清视频 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and …...

LangChain+FAISS 向量数据库搭建轻量化 RAG 应用

📝 本章学习目标:本章聚焦企业轻量化落地,帮助读者快速掌握基于 LangChainFAISS 的私有化 RAG 开发流程。通过本章学习,你将从零搭建一套无需 GPU、无外网依赖、纯本地运行、代码极简、可直接上线的轻量化 RAG 应用。 一、引言&a…...

本地化AI代码助手部署指南:从模型选型到性能调优

1. 项目概述:一个面向开发者的本地化AI代码助手最近在GitHub上看到一个挺有意思的项目,叫“JPeetz/Hermes-Studio”。乍一看名字,可能会联想到希腊神话里的信使赫尔墨斯,或者某个设计软件。但点进去你会发现,这其实是一…...

数据库优化(八)MySQL 大小管理 ——东方仙盟金丹期

1查询整个mysql下数据库大小SELECTtable_schema AS db_name,ROUND(SUM(data_length index_length)/1024/1024,2) AS size_mb FROM information_schema.tables GROUP BY table_schema ORDER BY size_mb DESC;| db_name | size_mb | -------------------------…...

从0到1掌握Ansible:让自动化运维不再是梦想

最近在公司推进自动化运维的时候,发现很多同事对Ansible还是一知半解,要么就是简单用用,要么就是直接放弃。其实Ansible真的没那么复杂,我用了这么多年,今天就把我的实战经验分享给大家。 说实话,刚开始接…...

Resolink MCP:基于MCP协议与Playwright的AI浏览器自动化实践

1. 项目概述:当AI助手学会“动手”——Resolink MCP的浏览器自动化革命如果你和我一样,每天在Cursor、Claude这类AI编程助手的陪伴下写代码,那你一定遇到过这样的场景:你正和AI热烈讨论一个技术方案,突然需要去浏览器里…...

用PLC控制Labview自动运行

博图软件设置注意数据位正确下图为Labview读取CSV文件的位置测试数据如下图所示实现方法:在1分支内创建好条件,当PLC心跳为True那么就去跑True里面的流程(CSM框架)...

别再死磕外链了:用Python+搜索API实现Google SEO自动化内容生产

做Google SEO的人都有一个共同感受:越来越难了。 以前发发外链、堆堆锚文本就能上去,现在不行了。Google的算法从"匹配关键词"进化到了"匹配搜索意图"。外链权重从60%降到30%,内容质量成了核心排名因素。 但问题是&#…...

基于Helm与Kubernetes的以太坊节点自动化部署与运维实战

1. 项目概述:当以太坊遇见Kubernetes如果你和我一样,在区块链基础设施领域摸爬滚打多年,从早期手动编译客户端、配置systemd服务,到后来用Docker Compose编排节点,每一步都伴随着大量的重复劳动和运维痛点。当节点数量…...

AI应用着陆页模板:快速构建专业产品门户的实战指南

1. 项目概述:一个面向AI应用落地的着陆页模板 最近在折腾AI应用开发的朋友,估计都遇到过同一个问题:模型和算法好不容易调好了,后端API也搭起来了,但一到“怎么让用户用起来”这一步,就卡壳了。尤其是那个…...

codebase-digest:自动化代码库分析工具的设计原理与工程实践

1. 项目概述:当代码库变成“黑盒”,我们如何快速理解它?你有没有接手过一个庞大而陌生的代码库?面对成千上万的文件和错综复杂的依赖关系,那种感觉就像被扔进了一个没有地图的迷宫。传统的做法是,你得像考古…...

Alph:一键统一配置AI编程助手MCP服务器的命令行工具

1. 项目概述:告别手动配置的混乱时代 如果你和我一样,日常开发中同时用着 Cursor、Claude Code、Gemini CLI 这些 AI 编程助手,那你一定对下面这个场景深恶痛绝:每次想给它们接入一个新的 MCP 服务器,都得像个考古学家…...

国产替代之SFT1452-H与VBFB1251K参数对比报告

N沟道功率MOSFET参数对比分析报告一、产品概述SFT1452-H:安森美(onsemi)N沟道功率MOSFET,耐压250V,低导通电阻,ESD门极保护,符合无卤素标准。封装:IPAK (TO-251)。适用于通用开关应用…...

Photoshop AVIF插件实战:解锁下一代图像格式的完整解决方案

Photoshop AVIF插件实战:解锁下一代图像格式的完整解决方案 【免费下载链接】avif-format An AV1 Image (AVIF) file format plug-in for Adobe Photoshop 项目地址: https://gitcode.com/gh_mirrors/avi/avif-format 为Adobe Photoshop添加AVIF格式支持不再…...

告别重复点击!淘金币自动化脚本让你每天多出20分钟自由时间

告别重复点击!淘金币自动化脚本让你每天多出20分钟自由时间 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本,包含蚂蚁森林收取能量,芭芭农场全任务,解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi …...

京东自动评价工具:3分钟解决购物评价难题的智能助手

京东自动评价工具:3分钟解决购物评价难题的智能助手 【免费下载链接】jd_AutoComment 自动评价,仅供交流学习之用 项目地址: https://gitcode.com/gh_mirrors/jd/jd_AutoComment 还在为购物后的评价烦恼吗?每次收到京东的"待评价"提醒&…...

算法将驱动一切:边缘AI智能体如何重塑智能系统

仓库装卸区的安全摄像头每天采集86400秒的视频数据。长途卡车上的车队远程信息记录仪在两次加油之间积累了数GB的行车影像。外科手术机器人的立体摄像头以每秒60帧的速度生成密集点云。所有这些数据都产生于数字世界与现实世界的交界处,但几乎没有任何一条被用于智能…...

从数据中心视角聊token

“我爱你”被AI拆解成了3个tokens,“I love U”也同样被AI拆解成了3个tokens,AI将人类的语言拆解到可被数据分析的最小单位,叫做token,中文是词元,AI通过数据模型的分析,又将无数的token组成了答复反馈给用…...

Sunshine游戏串流服务器:打造你的个人云端游戏平台

Sunshine游戏串流服务器:打造你的个人云端游戏平台 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想要在任何设备上畅玩PC游戏?Sunshine游戏串流服务器是你…...

妙趣AI:开源Agent工具链与AI导航平台的工程实践

1. 妙趣AI:一个AI工具导航与开源Agent生态的实践如果你和我一样,每天被各种新冒出来的AI工具、模型和概念搞得眼花缭乱,同时又对“AI Agent”这个听起来很酷但落地很虚的东西充满好奇,那么“妙趣AI”这个项目可能正是你需要的。它…...

社交媒体运营实战指南:从算法逻辑到内容变现的完整技能树

1. 项目概述:社交媒体技能库的构建与价值在信息爆炸的今天,社交媒体早已不是简单的“发发状态、看看朋友”的平台。无论是个人品牌塑造、产品推广、内容创作,还是求职招聘、行业洞察,社交媒体都扮演着至关重要的角色。然而&#x…...