易截截图软件、单文件、免安装、纯绿色、仅160KB

一个简单的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


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

使用java读取URL

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的序列化机制,Java类的实例可以通过Object流来传输和重新获取,而不会损坏类的实例。
    首先,我们看看什么样的类是序列化类,
      1.A类自身实现了Serializable接口的类; ......

在Java中实现浮点数的精确计算

标题     在Java中实现浮点数的精确计算    AYellow(原作) 修改   
关键字     Java 浮点数 精确计算  
问题的提出:
如果我们编译运行下面这个程序会看到什么?
public class Test{
    public static void mai ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号