一个简单的Java仿真程序
这是一个简单的仿真程序:
在这个仿真程序中,花园委员会都希望了解每天通过大门进入公园的总人数.每个大门都有一个十字
转门或某种其他形式的计数器,并且任何一个十字转门的计数器递增时,就表示公园中的总人数的共享
计数值也会递增
package OrnamentalGarden;
import java.util.Random;
/**
* 这里使用单个的Count对象来跟踪花园的参观者的计算值,并且将其当做是Entrance类中的一个静态域进行访问
* @author 泉
*
*/
public class Count {
private int count = 0;
private Random rand = new Random(47);
public synchronized int increment() {
int temp = count;
if(rand.nextBoolean()) //这里使用了Random的对象,目的是把从count读取到temp中,到递增,temp并把
Thread.yield(); //其存储回count的这段时间里,有大约一半的时间产生让步.
return (count = ++ temp);
}
public synchronized int value() {
return count++;
}
}
----------------------------------------------------------
package OrnamentalGarden;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
public class Entrance implements Runnable {
private static Count count = new Count();
private static List<Entrance> entrances = new ArrayList<Entrance>();
private int number = 0;
private final int id;
private static volatile boolean canceled = false;
public Entrance(int id) {
this.id = id;
entrances.add(this);
}
public static void cancel() {
canceled = true;
}
public void run() {
while(!canceled) {
//同步控制块
synchronized (this) {
++ number;
}
System.out.println(this + "Total: "+count.increment());
try {
TimeUnit.MICROSECONDS.sleep(100);
}catch(InterruptedException e) {
System.out.println("sleep interrupted !! ");
}
}
System.out.println("Stopping "+this);
}
public synchronized int getValue() {
return number;
}
public static int getTotalCount() {
return count.value();
}
public static int sumEntrances() {
int sum = 0;
for(En
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
import java.net.*;
import java.io.*;
public class ReadDemo
{
public static void main(String argv[])
{
try
{
URL url = new URL("http://blog.chinaunix.net/u/15586/showart_1863289.html");
BufferedRe ......
Java当中的序列化,其主要的作用是将类的实例进行无损传输,或者说就是通过Java的序列化机制,Java类的实例可以通过Object流来传输和重新获取,而不会损坏类的实例。
首先,我们看看什么样的类是序列化类,
1.A类自身实现了Serializable接口的类; ......
标题 在Java中实现浮点数的精确计算 AYellow(原作) 修改
关键字 Java 浮点数 精确计算
问题的提出:
如果我们编译运行下面这个程序会看到什么?
public class Test{
public static void mai ......
使用J2SEAPI读取Properties文件的六种方法
1。使用java.util.Properties类的load()方法示例:InputStream in=lnew BufferedInputStream(new FileInputStream(name));
properties p=newProperties(); p.load(in);
2。使用java.util.ResourceBundle类的getBundle()方法示例:ResourceBundle rb=ResourceBu ......