|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。
在Java中创立线程有两种办法:利用Thread类和利用Runnable接口。在利用Runnable接口时必要创建一个Thread实例。因而,不管是经由过程Thread类仍是Runnable接口创建线程,都必需创建Thread类或它的子类的实例。Thread类的机关办法被重载了八次,机关办法以下:
public Thread( );
public Thread(Runnable target);
public Thread(String name);
public Thread(Runnable target, String name);
public Thread(ThreadGroup group, Runnable target);
public Thread(ThreadGroup group, String name);
public Thread(ThreadGroup group, Runnable target, String name);
public Thread(ThreadGroup group, Runnable target, String name, long stackSize);
Runnabletarget
完成了Runnable接口的类的实例。要注重的是Thread类也完成了Runnable接口,因而,从Thread类承继的类的实例也能够作为target传进这个机关办法。
Stringname
线程的名子。这个名子能够在创建Thread实例后经由过程Thread类的setName办法设置。假如不设置线程的名子,线程就利用默许的线程名:Thread-N,N是线程创建的按次,是一个不反复的正整数。
ThreadGroupgroup
以后创建的线程所属的线程组。假如不指定线程组,一切的线程都被加到一个默许的线程组中。关于线程组的细节将在前面的章节具体会商。
longstackSize
线程栈的巨细,这个值通常为CPU页面的整数倍。如x86的页面巨细是4KB。在x86平台下,默许的线程栈巨细是12KB。
一个一般的Java类只需从Thread类承继,就能够成为一个线程类。并可经由过程Thread类的start办法来实行线程代码。固然Thread类的子类能够间接实例化,但在子类中必需要掩盖Thread类的run办法才干真正运转线程的代码。上面的代码给出了一个利用Thread类创建线程的例子:
001 package mythread;
002
003 public class Thread1 extends Thread
004 {
005 public void run()
006 {
007 System.out.println(this.getName());
008 }
009 public static void main(String[] args)
010 {
011 System.out.println(Thread.currentThread().getName());
012 Thread1 thread1 = new Thread1();
013 Thread1 thread2 = new Thread1 ();
014 thread1.start();
015 thread2.start();
016 }
017 }
下面的代码创建了两个线程:thread1和thread2。上述代码中的005至008行是Thread1类的run办法。当在014和015行挪用start办法时,体系会主动挪用run办法。在007利用用this.getName()输入了以后线程的名字,因为在创建线程时并未指定线程名,因而,所输入的线程名是体系的默许值,也就是Thread-n的情势。在011行输入了主线程的线程名。
下面代码的运转了局以下:
main
Thread-0
Thread-1
从下面的输入了局能够看出,第一行输入的main是主线程的名子。前面的Thread-1和Thread-2分离是thread1和thread2的输入了局。
<p>
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。 |
|