Thread t=new Thread(inc);
t.start();
t=new Thread(dec);
t.start();
}
}
private synchronized void inc(){
j++;
System.out.println(Thread.currentThread().getName()+"-inc:"+j);
}
private synchronized void dec(){
j--;
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
}
class Inc implements Runnable{
public void run(){
for(int i=0;i<100;i++){
inc();
}
}
}
class Dec implements Runnable{
public void run(){
for(int i=0;i<100;i++){
dec();
}
}
}
}
29、Java 有没有 goto?
java 中的保留字,现在没有在 java 中使用。
30、启动一个线程是用 run()还是 start()?
启动一个线程是调用 start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着
它可以由 JVM 调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出
的标志来停止一个线程。
31、EJB 包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建
立一个 Bean 的实例时,EJB 容器不一定要创建一个新的 Bean 的实例供客户机调用,而是
随便找一个现有的实例提供给客户机。当客户机第一次调用一个 Stateful Session Bean 时,
容器必须立即在服务器中创建一个新的 Bean 实例,并关联到客户机上,以后此客户机调用
Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的 Bean 实例。