一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。
二. 在java.util这个包里面提供了一个Random的类,我们可以新建一个Random的对象来产生随机数,他可以产生随机整数、随机float、随机double,随机long,这个也是我们在j2me的程序里经常用的一个取随机数的方法。
三.在我们的System类中有一个currentTimeMillis()方法,这个方法返回一个从1970年1月1号0点0分0秒到目前的一个毫秒数,返回类型是long,我们可以拿他作为一个随机数,我们可以拿他对一些数取模,就可以把他限制在一个范围之内啦
其实在Random的默认构造方法里也是使用上面第三种方法进行随机数的产生的
对于方法一中的Random类有以下说明:
java.util.Random类有两种方式构建方式:带种子和不带种子
不带种子:
此种方式将会返回随机的数字,每次运行结果不一样
public class RandomTest {
public static void main(String[] args) {
java.util.Random r=new java.util.Random();
for(int i=0;i<10;i++){
System.out.println(r.nextInt());
}
}
带种子:
此种方式,无论程序运行多少次,返回结果都是一样的
public static void main(String[] args) {
java.util.Random r=new java.util.Random(10);
for(int i=0;i<10;i++){
System.out.println(r.nextInt());
}
}
两种方式的差别在于
(1) 首先请打开Java Doc,我们会看到Random类的说明:
此类的实例用于生成伪随机数流,此类使用 48 位的种子,该种子可以使用线性同余公式对其进行修改(请参阅 Donald Knuth 的《The Art of Computer Programming, Volume 2》,第 3.2.1 节)。
如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。为了保证实现这种特性,我们为类Random指定了特定的算法。为了 Java代码的完全可移植性,Java 实现必须让类 Random 使用此处所示的所有算法。但是允许 Random 类的子类使用其他算法,只要其符合所有方法的常规协定即可。
Java Doc对Random类已经解释得非常明白,我们的测试也验证了这一点。
(2) 如果没有提供种子数,Random实例的种子数将是当前时间的毫秒数,可以通过System.currentTimeMillis()来获得当前时间的毫秒数。打开JDK的源代码,我们可以非常明确地看到这一点。
/**
* Creates a new random number generator. Its seed is initialized [...]
Archive for the ‘技术指导’ Category
Java产生随机数的几种方式
六月 7th, 2010
管理员 Mozilla发布插件检测工具 可扫描IE等安全性
五月 13th, 2010
管理员 北京时间5月13日消息,据国外媒体报道,Mozilla基金会昨天发布了一款插件检测工具Plugin Check,包括IE、Chrome、Safari和Opera在内的其他浏览器用户可以用该工具检测安装的插件是否会受到攻击。
Mozilla基金会原来计划3月末发布Plugin Check,推迟发布的目的是增加扫描的插件数量。
Safari 4、Chrome 4和Opera 10.5用户可以利用Plugin Check扫描插件,例如苹果的QuickTime或Adobe的Flash、Reader。浏览器插件越来越成为黑客的攻击目标。Plugin Check支持的IE版本仅限于IE7和IE8,而且扫描的IE插件数量也少于其他浏览器。火狐浏览器开发主管乔纳森·南丁格尔(Johnathan Nightingale)发表博客文章称,“我们需要为每种IE插件编写特别的代码,因此需要更多时间。”
扫描到需要更新的插件后,Plugin Check将给插件“贴上”“更新”(Update)标签,表明该插件可能受到攻击;其他插件将被“贴上”“最新版本”(Up to Date)标签;对于无法判断状态的插件,Plugin Check将“贴上”“研究”(Research)标签。
去年,Mozilla基金会发布了只扫描Flash的插件检测工具,称Flash的普及程度是其容易受到黑客攻击的原因。后来,Mozilla基金会逐步在插件检测工具中增加了其他火狐插件,并将插件检测工具整合到火狐3.6中。
Plugin Check旨在使用户了解哪些插件因没有及时更新而可能受到攻击。南丁格尔在谈到将Plugin Check检测范围扩大到其他浏览器的原因时表示,“我们认为,插件安全是互联网面临的问题的一部分。”
据估计,针对Reader等浏览器插件的攻击在迅速攀升。反病毒厂商McAfee上个月表示,针对PDF文档阅读器的攻击占到全部恶意代码的28%。
南丁格尔称,Plugin Check提高了火狐用户计算机系统的安全性,“逾60%的火狐用户运行最新版本的Flash插件,高于平均水平”。
Plugin Check访问Mozilla基金会的服务器,对在用户系统上扫描的插件版本与最新版本进行比较。用户可以点击Plugin Check提供的链接,下载插件的最新版本。Mozilla基金会呼吁插件开发商提供帮助,确保用户计算机系统的安全。
用户Linux安全意识缺乏导致僵尸病毒大传播
五月 11th, 2010
管理员 互联网安全企业赛门铁克公司(Symantec)提供的服务调查研究报告揭示,企业用户对 Linux邮件服务器安全意识的缺乏为“僵尸病毒”的传播大开便利之门,并使得众多运行Linux操作系统的用户遭受“僵尸病毒”感染。赛门铁克 公司情报实验室提供的月度信息报告表明,在发送恶意垃圾信息邮件的个人电脑中,基于Linux操作系统的个人电脑数量是基于Windows操作系统下个人 电脑数量的五倍。
赛门铁克托管服务部门恶意软件数据分析师麦特·尼斯贝特(Mat Nisbet)在其个人博客中对外公布这一消息,并声称其计划深究这一现象的深层次原因。尼斯贝特说:“我们对已经感染僵尸病毒并运行Linux操作系统的电脑进行随进抽样检验,测试感染这些僵尸电脑病毒的IP地址源。大部分案例的IP地址源指向一台运行开源电子邮件代理服务的服务器。这说明,众多 Linux操作系统电脑被“僵尸病毒”感染的一个主要原因在于目前运营自己电子邮件服务器的企业用户为降低运营成本,使用开源软件。但这些企业用户并未意识到,使用开源软件为僵尸病毒利用端口25进行传播提供了可乘之机。”
尼斯贝特同时指出,现在互联网中的一些“僵尸病毒”可以自动搜索敞开端口25的邮件服务器及个人电脑,并感染这些使用开源软件的邮件服务器及个人电脑进行“僵尸病毒”传播。尼斯贝特说:“任何利用Linux操作系统下软件使用免费优势的用户,都需要提高操作系统安全警惕。通过正确的安全设置操作保护个人电脑免受恶意 “僵尸病毒”感染。运行Linux操作系统的个人用户需要通过提高安全设置,仅向经过授权的用户提供端口25访问权限。”
感染Autorun.inf病毒 双击盘符没有反应怎么办
三月 1st, 2010
管理员 最近Autorun.inf病毒越来越多,也越来越厉害,最近就碰上了一种,双击盘符打不开,连在右键菜单中选择“打开”也提示错误。
要知道里面保存了很多有用的资料,如果格式化的话就全没了,难道就没有办法了吗?无意之中发现了一种超简单的解决办法。
打开资源管理器,在左侧目录树中点击受感染的盘符,这时在右侧的内容窗格中,便显示出分区内的内容了。找到Autorun.inf文件,双击打开,找到调用的目标,连同Autorun.inf文件一起删除搞定。
除了上面这种方法外,也可以在打开“我的电脑”后,在地址栏中直接输入对应的盘符(类似于“F:\”的形式)来打开。
小提示:病毒一般都是隐藏属性,因此需要在“文件夹选项”中勾选“显示所有文件”,并取消“隐藏受保护的操作系统文件(推荐)”选项的选择,这样才能找到病毒文件。

分类:
Tags:




