JAVA笔试题(答案在最后)演示文档.doc
- 格式:doc
- 大小:203.04 KB
- 文档页数:19
1.web中的forward和redirect的区别?(前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
这样,从浏览器的地址栏中可以看到跳转后的链接地址。
所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。
在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
2. xml在解释的时候DOM和SAX协议的区别和含义?DOM:处理大型文件时其性能下降的非常厉害。
这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。
它顺序读取XML文件,不需要一次全部装载整个文件。
当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问3说明JNDI、JMS、JTA、RMI的意思?JNDI(Java Naming and Directory Interface)是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。
JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,翻译为Java消息服务。
JMS支持点对点和发布/订阅两种消息模型。
JTA(Java Transaction API) 为J2EE 平台提供了分布式事务服务。
要用JTA 进行事务界定,应用程序要调用erTransaction 接口中的方法.RMI是Java的一组拥护开发分布式应用程序的API。
RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。
正式应聘的JAVA笔试题和答案一:选择题1:List, Set, Map是否继承自Collection接口A:都是,B 都不是 C:List, Set 是 D:Set, Map 是正确答案 C2:下面描述哪个是正确的A:构造器Constructor可被overrideB:可以继承String类C:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code不会被执行D:两个对象值相同(x.equals(y) == true),那么也有相同的hash code正确答案 D3 abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized A:都能 B:都不能 C:可以为static D:可以为native正确答案 A4:下面的程序中,temp的最终值是什么?long temo=(int)3.9;temp%=2;A: 0 B :1 C :2 D : 3正确答案 B5、请在以下选项中选出非基本数据类型的选项 ( )A: int B:byte C: boolean D:String正确答案 D6、阅读下面代码段, 给出以下代码的输出结果public class Test{public static void main(String args[]){String str1 = "abc";String str = "abc;String str2 = new String("abc");System.out.println(str1 == str2);System.out.println(str1.equals(str2));System.out.println(str == str1);}}A:true,true,true B:true,false,true C:true,true,false D:false,true,true正确答案 D7、阅读下面代码段, 给出以下代码的输出结果:int i=1;switch (i) {case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two");default:System.out.println("default");}A: B::D:default 正确答案 C8、阅读下面代码段, 给出以下代码的输出结果public class MyClass{static int i;public static void main(String argv[]){System.out.println(i);}}A: Error Variable i may not have been initialized B:null C:D:0 正确答案 D9、阅读下面代码段, 给出以下代码的输出结果:class A{static{System.out.print( “A1”);}public A(){System.out.print( “A2”);}}class B extends A{static{System.out.print( “B1”);}public B(){System.out.print( “B2”);}}public class Hello{public static void main(String[] args){A ab = new B();ab = new B();}}A:A1B1A2B2B1B2 B:A1B1A2B2A2B2 C:A1B1A2B2B1B2 D:A1A2B1B2A2B2正确答案 B10、阅读下面代码段, 给出以下代码的输出结果public class TestData {public String getValue () {String value = "";try{value = "test1";return value;}catch(Exception e){e.printStackTrace();}finally{value = "test2";}return value;}public static void main(String args[]){ TestData test = new TestData();String a = test.getValue();System.out.println(a);}}A.test1B.test2C.nullD.””正确答案 A二、改错题,如果有错误,请指出并修正。
java软件研发笔试题及答案1. Java基础问题1:请解释Java中的“==”和equals()方法的区别。
答案1:在Java中,“==”用于比较两个基本数据类型的值是否相等,或者两个引用是否指向同一个对象。
而equals()方法是一个Object类的方法,用于比较两个对象的内容是否相等。
默认情况下,equals()方法的行为与“==”相同,但是可以被覆写以实现自定义的比较逻辑。
问题2:Java中,什么是接口(Interface)?答案2:接口是Java中的一种引用类型,它是一种完全抽象的结构,可以包含常量、抽象方法和默认方法。
接口不能直接实例化,必须由实现该接口的类来实现其方法。
接口是一种规范,用于规定类必须实现哪些方法。
2. Java集合框架问题3:List接口和Set接口有什么区别?答案3:List接口允许元素重复,并且元素有序,即元素的插入顺序是保持不变的。
Set接口不允许元素重复,并且元素无序,即元素的存储顺序不保证。
问题4:HashMap和Hashtable有什么区别?答案4:HashMap是非线程安全的,允许一个null键和多个null 值;Hashtable是线程安全的,不允许null键和null值。
HashMap通常比Hashtable的性能要好,因为它不是线程安全的,所以没有线程同步的开销。
3. Java多线程问题5:请解释synchronized关键字的作用。
答案5:synchronized关键字用于在Java中实现同步,它可以用来修饰方法或者代码块。
当一个方法或者代码块被synchronized修饰时,同一时刻只能有一个线程执行该段代码,从而保证了线程安全。
问题6:如何创建线程?答案6:创建线程有两种方式:继承Thread类和实现Runnable接口。
继承Thread类需要重写run()方法,然后创建Thread类的实例并调用start()方法。
实现Runnable接口需要实现run()方法,然后创建Thread类的实例,将Runnable对象作为参数传入构造函数,最后调用start()方法。
2024年招聘Java开发工程师笔试题及解答(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个不是Java中的基本数据类型?A、intB、floatC、StringD、boolean2、在Java中,以下哪个关键字用于声明一个类?A、classB、structC、enumD、interface3、关于Java中的String类,以下描述正确的是:A. String类是final类,无法继承。
B. String类是可变的,可以对其进行修改。
C. String类是可变的,每次对String对象的操作都会创建新的对象。
D. String类是不可变的,每次对String对象的操作都会创建新的对象。
4、关于Java中的垃圾回收机制,以下描述不正确的是:A. 垃圾回收器可以自动回收不再使用的对象占用的内存空间。
B. 垃圾回收机制是Java自动管理内存的一种方式,程序员无需手动释放内存。
C. 垃圾回收器会定期检查并回收那些不再有引用的对象。
D. 堆内存中的所有对象在不再有引用后,会自动关联到垃圾回收机制中,即成为垃圾,等待垃圾回收器来回收。
5、以下哪个Java版本正式支持模块化系统“Java Platform Module System”(JPMS)?A、Java 8B、Java 9C、Java 10D、Java 116、在Java中,以下哪个关键字用来声明一个线程?A、threadB、runC、ThreadD、start7、以下哪个关键字是Java中用于实现多线程的同步机制?A. synchronizedB. transientC. volatileD. static8、以下哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. friendly9、在Java中,以下哪个选项不是访问修饰符?A. publicB. privateC. protectedD. friend 10、下列关于Java异常处理的说法中,哪一个是正确的?A. Java程序必须捕获并处理所有抛出的异常。
Java笔试题一答案.docxJava笔试题面试岗位:高级中级初级笔试时间:姓名:一、jQuery1、Java如果需要匹配包含文本的元素,用下面哪种来实现?(单选)A、text()B、contains()C、input()D、attr(name)?考点:jquery的选择器(B)2、在jquey中,如果想要从DOM中删除所有匹配的元素,下面哪一个是正确的?(单选)A、delete()B、empty()C、remove()D、removeAll()?考点:jquery的文档处理(C)3、为每一个指定元素的指定事件(像click)绑定一个事件处理器函数,下面哪个是用来实现该功能的?(单选)A、trigger (type)B、bind(type)C、one(type)D、bind?考点:jquery的事件操作(B)4、当一个文本框中的内容被选中时,想要执行指定的方法时,可以使用下面哪个事件来实现?(单选)?A、click(fn)B、change(fn)C、select(fn)D、bind(fn)?考点:jquery的事件处理(C)5、在jquery中,想让一个元素隐藏,用________实现,显示隐藏的元素用_________实现。
?考点:jquery的页面效果(hide(),show())6、在jquery中想要实现通过远程http get请求载入信息功能的是下面的哪一下事件?(单选)A、$.ajax()B、load(url)C、$.get(url)D、$. getScript(url)?考点:jquery的ajax (C)7、在一个表单中,如果想要给输入框添加一个输入验证,可以用下面的哪个事件实现?(单选)?A、hover(over ,out)B、keypress(fn)C、change()D、change(fn)?考点:jquery的事件处理(D)8、如果想在一个指定的元素后添加内容,下面哪个是实现该功能的?(单选)A、append(content)B、appendTo(content)C、insertAfter(content)D、after(content)?考点:jquery的文档处理(D)二、Java1、JAVA的基本数据类型有哪些?String 是不是基本数据类型?数值型:——整型:byte(字节型)、short(短整型)、int(整型)、long(长整型)——浮点型:float(单精度浮点数)、double(双精度浮点数)字符型:char布尔类型:boolean String不是基本数据类型,它属于引用数据类型当中的class类型。
[实用参考]Java笔试题+答案.docJava笔试题1.J2EE是什么?答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterprieseapplicationmodel).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。
所属层次包括客户层(clietntier)组件,web层和组件,Business 层和组件,企业信息系统(EIS)层。
2.J2EE是技术还是平台还是框架?答:J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA 等技术。
3.MVC的各个部分都有那些技术来实现?如何实现?答:MVC是Model-View-Controller的简写。
"Model"代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),"View"是应用的表示面(由JSP页面产生),"Controller"是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。
这些组件可以进行交互和重用。
4.STRUTS的应用(如STRUTS架构) 答:Struts是采用JavaServlet/JavaServerPages技术,开发Web应用程序的开放源码的framework。
采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。
Struts有如下的主要功能:一.包含一个controllerservlet,能将用户的请求发送到相应的Action对象。
二.JSP自由tag库,并且在controllerservlet中提供关联支持,帮助开发员创建交互式表单应用。
此文档下载后即可编辑中级JAVA笔试题(附参考答案)java 基础1.StringBuffer的实现方式,容量如何扩充。
2.ClassLoader的功能和工作模式。
3.==和equals的区别。
4.什么是线程安全?举例说明一个线程不安全的例子。
5.说出数据连接池的工作机制,解决什么问题。
6.一个字符串"java Java JAVa JaVa IloveJAVA you hateJavaafasdfasdf",把其中奇数位java(大小写不敏感)替换成java,偶数位替换成JAVA。
数据库7.经常使用的数据库的优化方法。
8.薪水最高的第10到第20名雇员Oracle和mysql的实现。
算法:9.ArrayList LinkedList HashMap,存储性能和特点。
10.用任意方法对int类型数组进行排序。
架构:11.描述MVC的设计思想12.Spring的核心理念是什么13.谈一下自己最熟悉的web框架参考答案:java 基础1.StringBuffer的实现方式,容量如何扩充。
(StringBuffer是通过char[]来实现的,默认长度是16,在进行串的append的时,StringBuffer会检测剩余容量,适时会重新扩充,而扩容的同时,会创建一个新的数组,并将原来的数组内容复制到新的数组里面。
)2.ClassLoader的功能和工作模式。
(1:JVM在运行时会产生三个ClassLoader,其层次关系::Bootstrap ClassLoader—>Extension ClassLoader—>AppClassLoader,2: 当一个装载器被请求装载某个类时,它首先委托自己的parent去装载,若parent能装载,则返回这个类所对应的Class对象,若parent不能装载,则由parent的请求者去装载。
)3.==(引用指向同一个对象)和equals(引用可能指向的不是同一个对象)的区别。
Java开发工程师笔试试题(请不要在试题上留任何痕迹,所有答案均写在答题纸上)一.编程题(共26分)1.任意写出一种排序算法。
(6分)public void sort(int [] array){//代码区}2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字以及条件判断语句)(8分)public int sum(int n){//代码区return 0;}3.完成下面方法,输入一个整数,输出如下指定样式图案。
(12分)输入:3,输出:1*2*37*8*94*5*6输入:4输出:1*2*3*49*10*11*1213*14*15*165*6*7*8public void drawNumPic(int n){//代码区}二.选择题(定项选择每题3分,不定项选择每题4分,共63分)1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B )A.int floatB.int doubleC.long floatD.long double2.只有实现了__接口的类,其对象才能序列化( A )A.SerializableB.CloneableparableD.Writeable3.代码System. out. println(10 % 3 * 2);将打印出?( B )A. 1B.2C.4D.64.以下程序运行的结果为( A )public class Example extends Thread{@Overridepublic void run(){try{Thread.sleep(1000);}catch (InterruptedException e){e.printStackTrace();}System.out.print("run");}public static void main(String[] args){Example example=new Example();example.run();System.out.print("main");}}A.run mainB.main runC.mainD.runE.不能确定5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B )A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值B.局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值C.类变量指的是用static修饰的属性D.final变量指的是用final 修饰的变量6.在如下所示的类Test中,共有(D)个构造方法。
java笔试题含答案Java 笔试题(可多选)1. 下面哪些是Thread类的方法( ABD)A start()B run()C exit()D getPriority()2. 下面关于类的说法正确的是(A)A 继承自ThrowableB SerialableC 该类实现了Throwable 接口D 该类是一个公共类3. 下面程序的运行结果是( false )String str1 = "hello";String str2 = "he" + new String("llo");== str2);4. 下列说法正确的有( C)A. class中的constructor不可省略B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行D.一个class只能定义一个constructor5. 指针在任何情况下都可进行>, <, >=, <=, ==运算?( true )6. 下面程序的运行结果:(B)public static void main(String args[]) {Thread t = new Thread() {public void run() {pong();}};();"ping");}static void pong() {"pong");}A pingpongB pongpingC pingpong和pongping都有可能D 都不输出7. 下列属于关系型数据库的是(AB)A. Oracle B MySql C IMS D MongoDB8. GC(垃圾回收器)线程是否为守护线程?( true )9. volatile关键字是否能保证线程安全?( false )10. 下列说法正确的是(AC)A LinkedList继承自ListB AbstractSet继承自SetC HashSet继承自AbstractSetD WeakMap继承自HashMap11. 存在使i + 1 < i的数吗?(存在)12. 的数据类型是(B)A floatB doubleC FloatD Double13. 下面哪个流类属于面向字符的输入流(A )A BufferedWriterB FileInputStreamC ObjectInputStreamD InputStreamReader14. Java接口的修饰符可以为(CD)A privateB protectedC finalD abstract15. 不通过构造函数也能创建对象吗(A)A 是B 否16. ArrayList list = new ArrayList(20);中的list扩充几次(A)A 0B 1C 2D 317. 下面哪些是对称加密算法(AB)A DESB AESC DSAD RSA18.新建一个流对象,下面哪个选项的代码是错误的?(B)A)new BufferedWriter(new FileWriter(""));B)new BufferedReader(new FileInputStream(""));C)new GZIPOutputStream(new FileOutputStream("")); D)new ObjectInputStream(new FileInputStream("")); 19. 下面程序能正常运行吗( yes )public class NULL {public static void haha(){"haha");}public static void main(String[] args) {((NULL)null).haha();}}20. 下面程序的运行结果是什么()class HelloA {public HelloA() {"HelloA");}{ "I'm A class"); }static { "static A"); }}public class HelloB extends HelloA {public HelloB() {"HelloB");}{ "I'm B class"); }static { "static B"); }public static void main(String[] args) { new HelloB();}}Static AStatic BHello AI’m A classHelp BI’m B Class21. getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果(A)public void getCustomerInfo() {try {下面代码的运行结果为:(C)import .*;import .*;public class foo{public static void main (String[] args){String s;"s=" + s);}}A 代码得到编译,并输出“s=”B 代码得到编译,并输出“s=null”C 由于String s没有初始化,代码不能编译通过D 代码得到编译,但捕获到NullPointException异常23. "5" + 2);的输出结果应该是(A)。
测试题(笔试)Java 面向对象重庆足下科技有限公司不定项选择题(40题,每题2.5分,总分100分,测试时间2小时)1) 当试图编译并运行下面程序时会出现什么结果()(单选)class A{public int getNumber(int a){return a+1;}}class B extends A{public int getNumber(int a, char c){return a+2;}public static void main(String[] args){B b=new B();System.out.println(b.getNumber(0));}}a) 编译错误b) 运行错误c) 1d) 22) 当编译并运行下面程序时会出现什么结果( )(单选)public class MyAr{public static void main(String argv[]){int[] i = new int[5];System.out.println(i[5]);}}a) 编译错误b) 运行错误c) 输出0d) 输出“null”3) final、finally、finalize三个关键字的区别是()(多选)a) final是修饰符(关键字)可以修饰类、方法、变量b) finally在异常处理的时候使用,提供finally块来执行任何清除操作c) finalize是方法名,在垃圾收入集器将对象从内存中清除出去之前做必要的清理工作d) finally和finalize一样都是用异常处理的方法4) 当编译并运行下面程序时会发生什么结果()(单选)public class Bground extends Thread{public static void main(String argv[]){Bground b = new Bground();b.run();}public void start(){for (int i = 0; i <10; i++){System.out.println("Value of i = " + i);}}}a) 编译错误,指明run方法没有定义b) 运行错误,指明run方法没有定义c) 编译通过并输出0到9d) 编译通过但无输出5) 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用()关键字来声明父类的这些方法。
(单选)a) Finalb) Staticc) Abstractd) Void6) 当编译并运行下面程序时会发生什么结果:(单选)public class Hope{public static void main(String argv[]){Hope h = new Hope();}protected Hope(){for(int i =0; i <10; i ++){System.out.println(i);}}}a) 编译错误,构造方法不能被声明为protectedb) 运行错误,构造方法不能被声明为protectedc) 编译并运行输出0到10d) 编译并运行输出0到97) 下列说法正确的是?()(多选)a) 数组有length()方法b) String有length()方法c) 数组有length属性d) String有length属性8) 当编译并运行下面程序时会发生什么结果?( )(单选)public class Test{public static void stringReplace(String text){text=text+”c”;}public static void bufferReplace(StringBuffer text){text=text.append("c");}public static void main(String args[]){String textString=new String("java");StringBuffer textBuffer=new StringBuffer("java");stringReplace(textString);bufferReplace(textBuffer);System.out.println(textString+textBuffer);}}a) 编译并运行输出javac javacb) 编译并运行输出java javac) 编译并运行输出java javacd) 编译并运行输出javac java9) 以下哪些表达式返回为真()(多选)String a=”My field1”;String b=”My field1”;String c=new String(”My field1”);String d=new String(”My field1”);a) a ==bb) a==cc) c==dd) a.equals(b)e) a.equals(c)f) c.equals(d)10) 当编译和运行下面程序时,哪项描述可以最准确的表达发生了什么事情( )(单选)public class MyAr{public static void main(String argv[]) {MyAr m = new MyAr();m.amethod();}public void amethod(){int i;System.out.println(i);}}a) 编译并输出0b) 编译错误c) 编译并输出nulld) 运行错误11) 给定如下java代码程序片断:class A{public A(){System.out.println(“A”);}}class B extends A{public B(){System.out.println(“B”);}public static void main(String[] args){B b=new B();}}上述程序将()(单选)a) 不能通过编译b) 通过编译,输出为ABc) 通过编译,输出为Bd) 通过编译,输出为A12) 关于线程,以下说法正确的是:()(多选)a) sleep方法执行时会释放对象锁。
b) wait方法执行时会释放对象锁。
c) sleep方法必须写在同步方法或同步块中d) wait方法必须写在同步方法或同步块中13) 给定JAV A代码如下,编译运行后,输出结果是()(单选)public class test{static int i;public int test(){i++;return i;}public static void main(String args[]){Test test=new Test();test.test();System.out.println(test.test());}}a) 0b) 1c) 2d) 314) 给定JAV A代码如下,关于super的用法,以下描述正确的是( )(单选)class C extends B{public C(){super();}}a) 用来调用类B中定义的super()方法b) 用来调用类C中定义的super()方法c) 用来调用类B中的无参构造方法d) 用来调用类B中第一个出现的构造方法15) 哪些是Thread类中本身的方法(不包括继承)( )(多选)a) start()b) sleep(long mi)c) wait()d) notify()16) 下面哪些为真()(多选)a) 接口里可定义变量,并且变量的值不能修改b) 任何情况下,类都不能被private修饰c) 类可以被protected修饰d) 接口不能实例化17) 下面哪些是正确的描述了关键字synhronized ( )(单选)a) 允许两个进程并行运行但其之间相互通信b) 保证任何时候只有一个线程访问一个方法或对象c) 保证两个或多个进程同时启动和结束d) 保证两个或多个线程同时启动和结束18) 下列哪一种叙述是正确的()(单选)a) abstract修饰符可修饰属性、方法和类b) 抽象方法的body部分必须用一对大括号{ }c) 声明抽象方法,大括号可有可无d) 声明抽象方法不可写出大括号19) 下面关于网络通信正确的描述是()(多选)a) TCP/IP协议是一种不可靠的网络通信协议。
b) UDP协议是一种可靠的网络通信协议。
c) TCP/IP协议是一种可靠的网络通信协议。
d) UDP协议是一种不可靠的网络通信协议。
20) 在Java中,下面关于抽象类的描述正确的是()(多选)a) 抽象类可以被实例化b) 如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类c) 抽象类的方法都必须是抽象的d) 声明抽象类必须带有关键字abstract21) 给定java代码如下,编译运行结果是()(单选)public class Test{public int count(){return 1%9;}public static void main(String[]args){System.out.println(count());}}a) 编译错误b) 运行错误c) 正常运行,输出1d) 正常运行,输出022) 将对象序列化,要实现哪个接口()(单选)a) Cloneableb) Runnablec) Serializabled) Comparator23) 以下代码输出结果为( ) (单选)public class Test{public static String output="";public static void foo(int i){try {if(i==1){throw new Exception();}output +="1";} catch(Exception e){output+="2";return;} finally{output+="3";}output+="4";}public static void main(String args[]){foo(0);foo(1);System.out.println(output);}}a) 1342b) 123c) 134234d) 1342324) 在JAVA中,()接口位于集合框架的顶层( ) (单选)a) Collectionb) Collectionsc) Listd) Set25) 在Java中,下列()类不能派生出子类( ) (单选)a) public class MyClass{}b) class MyClass{}c) abstract class MyClass{}d) final class MyClass{}26) 启动一个线程,应调用什么方法()。