




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机等级考试二级java模拟题11. float型floatf=3.4是否正确?答:不正确,应为floatf=3.4f2. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?答:是引用传递。3. 在java中一个类被声明为final类型,表示了什么意思?答:表示该类不能被继承,意味着它不能再派生出新的子类,不能作为父类被继承,是顶级类。4. Error与Exception有什么区别?答:Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题,比如,内存资源不足等,对于这种错误,
2、程序基本无能为力,除了退出运行外别无选择。Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须处理的。5. 谈谈final,finally的区别。答:final是修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract,又被声明为final。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用
3、,不能重载。Finally是在异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话),只要有finally语句块,无论程序如何运行,它都必然被执行到。6. Strings=newString(Hxyzn);创建了几个StringObject?答:创建了两个,一个字符对象,一个引用对象7. shortsi=1;si=si+1;有什么错?shorts1=1;s1+=1;有什么错?答:两个错误都是一样的,后者只是加法的写法不一样,两个错误都是因为si是short型而1是整型相加后数据类型就变为整型了,与s
4、i定义为short型有矛盾,必须进行强制类型转换才正确。8. 数组有没有length。这个方法?String有没有length()这个方法?答:数组没有,String有。9. Overload和Override的区别答:方法的覆盖(Overriding)和重载(Overloading)是Java多态性的不同表现。覆盖(Overriding)是父类与子类之间多态性的一种表现,重载(Overloading)是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖System.out.println(i+”“+getName();Try(Sleep(int)(
5、Math.random()*1000);Catch(InterruptedExceptione)()System.out.println("DONE!”+getName();14答案Importjava.awt.*Importjava.util.Date;Importjava.applet.Applet;PublicclassTestextendsAppletimplementsRunnable(Threadclockthread;Publicvoidstart(If(clockThread=null)(clockThread=newThread(this);clockThread.
6、start();Publicvoidrun()While(clockThread!=null)(repaint();TryclockThread.sleep(lOOO);catch(InterruptedExceptione)()Publicvoidpaint(Graphicsg)(Datetime=newDate();Stringstr=time.getHours()4-:"+time.getMinute()+":"+time.getSecond();g.drawString(str,5,10);clockThread二null;计算机等级考试二级java模拟题
7、31.ObjectlnputStream的父类是。A.)InputStreamB) OutputStreamC) ReaderD) Writer2. 在java中,用来处理字符的基本存储单位的。A) 单字节B) 双字节C) 3字节D) 4字节3. ZipInputStream所在的包是A) .java.ioB) java.utilC) java.io.zipD) java.util.zip4. readFloat()所在类是。A) DatalnputB)InputStreamReaderC) DataInputStreamD) BufferedInputStream5. 同时支持readlnt
8、()和write()方法的类是A) RandomAccessFileB) FileC) ReadD) Write6. 读一个压缩文件,该压缩文件对象参数的类是.A) FileB) FileInputStreamC) ZipInputStreamD) BufferedReader7. JarlnputStream所属流是.A) FileInputStreamB) BufferedInputStreamC) ZipInputStreamD) DataInputStream8. 如果想保留对象数据,首先需要打开的对象是A)ObjectOutputStreamB)FileOutputStreamC)B
9、ufferedOutputStreamD)ZipOutputStream9. 下列File类操作中错误的是A)文件的建立B)文件的删除C)文件的读写D)文件的属性10. 在计算CRC校验和的程序中使用java.nio的新特性后,速度提高约23倍,所用技术是.A)校验和B)文件琐C)字符编码解码D)内存映射11.BufferedReader阅读文本行的方法是.12. 以下是一个对数据文件进行缓冲输入操作的句子,在语句的下划线处,请填上适当的内容:DatalnlputStreamdin=newDataInputStream(new(newFileInputStream("employee
10、.dat");13. 正如Java的流类中也有不属于java.io包的,比如:"摘要”输入流类DigestI叩utStream属于java.security包,同样,ZipInputStream属于接口。14. 代表一个随机访问文件的类是类。15. 如果对象需要进行输入,着该对象必须实现接口。16. 阅读一个网页中的html文件,寻找和相匹配的字符串。这就要将java.io.InputStreamReader和java.util.regex包的类和Matcher类相结合。17. 请编写一个完整的java程序,将一个文件(例如empllyee.dat)的属性置为只读模式。18
11、. 请编写一个完整的java程序,向一个文件(例如empllyee.dat)写入10个字符串。19. 请编写一个完整的java程序,将source.txt中的“这是在源文件中的数据”读出来显示在屏幕上,并且写入到destination.txt文件中。20. 请试在以下程序的处填上适当的语句。(选作)有时可将一个对象写在ByteArrayOutputStream流中,再从该流中读入同样一个对象到ByteArrayOutputStream中,这样也可以深层次克隆一个对象。Importjava.io.*;PublicclassSerialCloneTestlPublicstaticvoidmain(
12、Stringargs)(Studentharry=newStudent("HarryHacker"Computerv);Studentharry2=(Student)harry.c!one();System.out.println(harry);System.out.println(harry2)ClassSerialCloneableimplementsCloneable,SerializablePublicObjectclone()Try./请填上适当的语句,完成Student对象harry的克隆。Catch(Exceptione)(Returnnull;ClassSt
13、udentextendsSerialCloneable(PublicStudent(Stringn,Stringm)Name=n;Major=m;PublicStringtoString()ReturngetClass().getName()+,name="+name+",major="+major+")PrivateStringname;PrivateStringmajor;)答案kA2B3D4C5A6B7C8A9C10D11.readerLine()12.BufferedInputStream()13.java.util.zip14.RandomAc
14、cessFile15.Serializable16.Pattern17.代码如下:Importjava.io.*;ClassSetReadOnlyText(Publicstaticvoidmain(Stringargs)(If(args.length!=1)(System.err.println("usage:javaMain”);System.exit(-l);If(newFile(argsO).setReadOnly()System.out.println(usetFiletoReadONlymodev);ElseSystem.out.println(uCannotsettore
15、ad-onlymode,);)18 .代码如下:Importjava.io.*;PublicclassWriteCharPublicstaticvoidmain(StringargsJ)(Inti;Byteb=newbyte10;Try(DataOutputStreamout=newDataOutputString(newFileOutputStream("employee.dat”);For(i=0;ivl0;i+)(Bi=(byte)(48+i);Out.write(b);Out.close();Catch(Exceptione)19 .代码如下:Importjava.io.*;
16、PublicclassReadWriteChar(Publicstaticvoidmain(Stringargs)(Strings=newStringO;Try(BufferedReaderin=newBufferedReader(newFileReader("source.txt");PrintWriterout=newPrintWriter(newFileWriter("destination.txt");Out.println("Thefollowingisfromsource,);While(s=in.readLine()!=null)
17、System.out.println(s);Out.println(s)In.close();Out.close();Catch(Exceptione)(.代码如下:Importjava.io.*;PublicclassSerialCloneTestl(Publicstaticvoidmain(Stringargs)(Studentharry=newStudent(“HarryHacker”Computern);Studentharry2=(Student)harry.clone();System.out.println(harry);System.out.println(harry2);Cl
18、assSerialCloneableimplementsCloneable,Serializable(PublicObjectclone()ByteArrayOutputStreambout=newByteArrayOutStream();ObjectOutputStreamout=newObjectOutputStream(bout);Out.writeObject(this);Out.close();ByteArraylnputStreambin=newByteArraylnputStream(bout.toByteArrayO);ObjectlnputStreamin=newObject
19、lnputStream(bin);Objectret=in.readObject();In.closeQ;Returnret;Catch(Exceptione)Returnnull;ClassStudentextentSerialCloneable(PublicStudent(Stringn,Stringm)(Name=n;Major=m;PublicStringtoString()Returngetclass().getName()+"name="+major+"”PrivateStringname;PrivateStringmajor;)计算机等级考试二级ja
20、va模拟题41算法的时间复杂度是指算法执行过程中所需要的基本运算次数2设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为_350o3结构化程序设计主要强调的是程序的易读性o4在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_D、需求分析5数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是控制流O6软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及需求评审O7下述关于数据库系统的叙述中正确的是数据库系统减少了数据冗余o8数据库设计包括两个方面的设计内容,它们是
21、概念设计和逻辑设计o91以下B不是Java中有效的关键字。A、constB、NULLC、falseD、this10Panel默认的布局管理器是A、FlowLayout。11下面B方法与applet的显示无关。A、update()B、draw()C、repaint()D、paint()12下列内容是异常的含义。A、程序的语法错B、程序编译或运行中所发生的异常事件C、程序预定义好的异常事件D、程序编译错误13当方法遇到异常又不知如何处理时,下列C做法是正确的。A、捕获异常B、抛出异常C、声明异常D、嵌套异常14计算机中的流是DoA、流动的字节B、流动的对象C、流动的文件D、流动的数据缓冲区15当检
22、索一个压缩文件时,首先要建立压缩文件输入流对象。该对象BoA、以选中的压缩文件为参数B、以FilelnputStream对象为参数C、以InputStreamReader对象为参数D、以BufferedReader对象为参数B进程或线程D、不可预知这些类就必须实现A。B、java.io.Extemalizable接口D、DataOutput接口AoC、菜单D、容器B进程或线程D、不可预知这些类就必须实现A。B、java.io.Extemalizable接口D、DataOutput接口AoC、菜单D、容器16A、17A、C、c、一个JavaApplication运行后,在系统中是作为一个线程B、
23、进程要串行化某些类的对象,Serializable接口java.io.Datalnput接口18Swing构件的程序不具有A、本地代码B、标签软件的调试方法主要有:强行排错法、回朔法_和原因排除法。数据库系统的三级模式分别为概念级模式、内部级模式与外部级模式。数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数数据存储和处理过程。19结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化和限制使用goto语句。202122据流、23 Java语言的各种数据类型之间提供两种转换:强制转换和自动转换。24 Java语言中,临界区用Synchronized关键字标识。解
24、析:1通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。软件生命周期的主要活动阶段为:(1)可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。(2)需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。(3)软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以
25、及处理流程。(4)软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。(5)软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。(6)运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。2数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。3软件的需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。需求获
26、取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。4标识符命名规则为:1、标识符是以字母、下划线、美元符($)作为首字符的字符串序列。在首字符后面可以跟字母、下划线、美元符和数字。2、标识符区分大小写。3、标识符
27、的字符数目没有限制,但为便于阅读和记忆,不宜太长。5数组中length是属性,而字符串中是通过length()方法获得字符长度的,6对于二元算术运算符,其表达式结果的类型归纳为以下几类情况:(1) 操作数全为整型,那么,只要其中有一个为long型,则表达式结果为long型。(2) 两个操作数全是byte型或short型,表达式结果也为int型。(3) 操作数为浮点型,只要其中有一个为double型,表达式结果就是double型。(4) 两个操作数全是float型或其中一个是float型,而另外一个是整型,则表达式结果为float型。7 BorderLayout是Window,Frame和Dia
28、log的默认布局管理器。BorderLayout布局管理器把容器分成5个区域:North,South,East,West和Center,每个区域只能放置一个构件。8 FlowLayout是Panel和Applet的默认布局管理器。构件在容器中的放置规律是从上到下、从左到右进行放置,如果容器足够宽,第一个构件先添加到容器中第一行的最左边,后续的构件依次添加到上一个构件的右边,如果当前行已放置不下该构件,则放置到下一行的最左边。构件的大小不随容器的大小改变而改变。9Applet显示相关的3个方法:(1) 、paint。方法:Applet的paint。方法具体执行Applet的绘制,该方法定义如下:
29、publicvoidpaint(Graphicsg)paint。方法有一个参数g是Graphics类的实例,该实例对象由浏览器生成,它包含了Applet的图形上下文信息,通过它向Applet中显示信息,该对象相当于Applet的画笔。在调用paint()*法时,由浏览器将该对象传递给paint(法。(2) 、叩date。方法:publicvoidupdate(Graphicsg)用于更新Applet的显示。该方法将首先清除背景,再调用paint。方法完成Applet的具体绘制。(3) 、repaint。方法:publicvoidrepaint()repaint。方法主要用于Applet的重新显
30、示,它调用update()方法实现对Applet的更新。10流,最早从C语言中引入的。其可以看成是一个流动的数据缓冲区。数据从数据源方向经过缓冲区流向数据的目的地。在传送的过程中,其传送方式是串行的。在Java中的java.io包中定义了Java中常见流的接口与类。其中包括两个最基本的流的抽象类,它们分别是OutputStream与InputStreamo其余的流都分别从这两个基本类中继承而来。11在java.io包中提供了对压缩文件进行操作的能力。它是通过压缩文件输入流与压缩文件输出流来实现的,其分别继承自InflaterlnputStream与DeflaterOutputStream。在创
31、建压缩文件输入流时,其初始化参数是一个FilelnputStream类的实例。12在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、中序遍历和后序遍历。前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。中序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。后序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历右
32、子树,然后访问根结点,最后遍历左子树;并且遍历左、右子树时,仍然先遍历右子树,然后访问根结点,最后遍历左子树。13调式的关键在于推断程序内部的错误位置及原因。其主要的调试方法有:强行排错法、溯法和原因排除法。强行排错法:是传统的调试方法,其过程可概括为:设置断点、程序暂停、观察程序状态、继续运行程序。这是目前使用较多、效率较低的调试方法。回溯法:该方法适合于小规模程序的排错。即一旦发现了错误,先分析错误征兆,确定最先发现”症状”的位置。然后,从发现”症状”的地方开始,沿程序的控制流程,逆向跟踪源程序代码,直到找到错误根源或确定错误产生的原因。原因排除法:是通过演绎和归纳,以及二分法来实现的。数
33、据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式和外部级模式。14概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。外模式也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。数据字典是各类数据描述的集合,它通常包括5个部分,即数据项,是数据的最小单位;数据结构,是若干数据项有意义的集合;数据
34、流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出;数据存储,处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程。15在Java语言中,异常机制是:一旦出现异常,可以由运行的方法或虚拟机生成一个异常对象,它包含异常事件的类型以及发生异常时程序的状态等信息。16异常对象从产生到被传递提交给Java运行系统的过程称为抛出(throw)异常。一个程序中单独的、并发的线程对同一个对象进行访问的代码段,称为临界区。在Java语言中,临界区可以是一个语句块或是一个方法,并且用“synchronized”关键字标识。(Overriding)o子类的对象使用这个方法时,将调用子
35、类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)oOverloaded的方法可以改变返回值的类型。10. abstractclass和interface有什么区别?答:声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abst
36、ract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义staticfinal成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引
37、用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口11. 构造器Constructor是否可被override?答:可以。12. 是否可以继承String类?答:String类是final类所以不可以继承。13. 题目如下:父类:publicclassFatherClass(publicFatherClass()(System.out.println(nFatherClassCreate'1);)子类:publicclassChildClassextendsFatherClasspublicChildClassQSystem.out.p
38、rintln(nChildCIassCreate");publicstaticvoidmain(String|args)FatherClassfc=newFatherClass();ChildClasscc=newChildClass();请问输出结果为:FatherClassCreate+FatherClassCreateChildClassCreate14. publicclassOuterClass(privatedoubledl=1.0;/insertcodehereline3从下列选项中选择两个正确的答案放在line3中(CE)A. classInnerOne(public
39、staticdoublemethoda()(returndl;B. publicclassInnerOne(staticdoublemethoda()(returndl;C. privateclassInnerOne(doublemethoda()(returndl;D. staticclassInnerOne(protecteddoublemethoda()(returndl;)E. abstractclassInnerOne(publicabstractdoublemethoda();STRING与STRINGBUFFER的区另U答:STRING的长度是不可变的,一旦一个String对象被
40、创建,包含在这个实例中的内容(“字符串”)不可以被更改,直至这个对象被销毁,因此,指向一个String对象的变量实质上是一个常量,String对象也被称为常量对象;STRINGBUFFER的长度是可变的,可以通过StringBuffer的append。、insert()>reverse()>setCharAt()>setLength()等方法,口J以对这个字符串中的内容修改。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法15. JAVA类实现序例化的
41、方法是?答:JAVA类要实现序列化,对应的类必须先实现Serializable和Externalizable这两种接口,然后就可以调用ObjectOutputStream的witeObject()方法来保存对象以及通过ObjeatlnputStream的readObjeact()方法来读取保存的对象。16. Collection框架中实现比较要实现什么接口?答:要实现Comparable接口,并实现这个接口的唯一方法cpmparaTo(),接受一个Object对象,在这个方法中可以定义对象的排序规则。17. 介绍JAVA中的Collection框架结构,并画出来oCollection<&
42、gt;Set<>ListHashSetTreesetArrayListVector18. 编程题:列出某文件夹下的所有文件(文件夹从命令行输入)而昆:importjava.io.*;publicclasslistFile(publicstaticvoidmain(Stringargs)(Strings="”;InputStreamReaderir=newInputStreamReader(System.in);BufferedReaderin=newBufferedReader(ir);try(s=in.readLine();Filef=newFile(s);FilelJ
43、files=f.listFiles();for(inti=0;iif(filesi.isFile()System.out.printing文件:n+filesi);else(System.out.printing目录:"+filesi);)in.closeQ;catch(lOExceptione)(e.printStackTrace();)19. 编程题::写一个满足Singleton模式的类出来publicclassSingletonTestprivatestaticSingletonTestsp;privateSingletonTest()()publicstaticSingle
44、tonTestgetlnstance()if(sp=null)(sp=newSingletonTest();returnsp;20. 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC"4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”角军:importjava.io.*;classinterceptstring(StringinterceptStr;intinterceptByte;publicinterceptString(Stringstr,intbyt
45、es)(interceptStr=str;interceptByte=bytes;System.out.printing字符串为:"'+interceptStr+”'字节数为:n+interceptByte);)publicvoidinterceptlt()intinterceptCount;interceptCount=(interceptStr.length()%interceptByte=0)?(interceptStr.length()/jnterceptByte):(interceptStr.length()/interceptByte+1);System.
46、out.printing截取后断数为:H+interceptCount);for(inti=l;i<=interceptCount;i+)(if(i=interceptCount)(System.out.println(interceptStr.substring(i-l)*interceptByte,interceptStr.length();elseSystem.out.println(interceptStr.substring(i-l)*interceptByte,(i*interceptByte);)publicstaticvoidmain(String|args)String
47、s="InputStreamReaderir=newInputStreamReader(System.in);BufferedReaderin=newBufferedReader(ir);try(s=in.readLine();interceptstringss=newinterceptString(s,4);erceptlt();in.close();catch(lOExceptione)(e.printStackTrace();)21. 多线程有儿种实现方法,都是什么?同步有儿种实现方法,都是什么?答:多线程有三种实现方法,分别为: 实现Runnable接口,覆盖Ru
48、n()方法。 继承Thread,覆盖Run。方法。 继承TimerTask,覆盖Run()方法。同步的实现是在方法前加synchronized,在调用wait。和notify。22. 请说出你所知道的线程同步的方法答:1.synchronized方法:通过在方法声明中加入synchronized关键字来声明synchronized方法。2. synchronized块:通过synchronized关键字来声明synchronized块。23. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?答:不可以。synchronized方法都必须获得调用该
49、方法的类实例的锁方能执行,否则所属线程阻塞,方法一旦执行,就独占该锁,直到从该方法返回时才将锁释放,此后被阻塞的线程才能获得该锁,重新进入可执行状态。24. 用JAVASOCKET编程,实现简单的Echo功能如:客户端从键盘输入hi(当用户输出exit退出程序),服务端响应为hi(服务器要求为多线程)解:服务器程序:importjava.io.*;.*;publicclassMyServerextendsThread(privateSocketcq;publicMyServer(Socketcq)(this.cq=cq;publicvoidrun()tryBufferedReaderin=ne
50、wBufferedReader(newInputStreamReader(cq.getInputStream();PrintWriterout=newPrintWriter(cq.getOutputStream();while(true)Stringstr=in.readLine();System.out.println(str);out.println(Hmessage:”+str);out.flushQ;if(str.equals(nexitn)break;catch(IOExceptione)(System.out.println(e.message。);publicstaticvoid
51、main(Stringargs)throwsIOException(ServerSocketserver=newServerSocket(8009);while(true)(Sockets=server.accept。;newMyServer(s).start();)客户端程序:.*;importjava.io.*;publicclassMyClient(publicstaticvoidmain(Stringargs)throwsException(Socketserver=newSocket(nlocalhost",8009);BufferedReaderin=newBufferedReader(newInputStreamReader(server.getInputStream();PrintWriterout=newPrintWriter(server.getOutputStream();BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in);while(true)(Stringstr=br.readLine();out.println(str);out.flush();if(str.equals(nexitn)(break;System.out.println(in.readLi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二级MySQL数据清理与维护技巧试题及答案
- 二级MySQL数据结构与查询试题及答案
- 四级软件测试考试常见误区试题及答案
- 提升测试文档准确性的有效方法与技巧试题及答案
- 电气行业法律法规解读考核试卷
- 教学地图绘制技术考核试卷
- 专注2025年软件测试核心试题及答案
- 网络技术考试的准备要点与建议试题及答案
- 数据库查询分析试题及答案解读
- 网络技术在项目中的应用试题及答案
- 《三毛流浪记》作者简介张乐平
- 2023年山西建设投资集团有限公司招聘笔试题库及答案解析
- 铁皮石斛的抗氧化、保湿功效研究和应用现状
- GB/Z 18620.4-2008圆柱齿轮检验实施规范第4部分:表面结构和轮齿接触斑点的检验
- GB/T 97.1-2002平垫圈A级
- 泊 秦 淮唐 杜牧
- GB/T 1871.1-1995磷矿石和磷精矿中五氧化二磷含量的测定磷钼酸喹啉重量法和容量法
- GB/T 1725-2007色漆、清漆和塑料不挥发物含量的测定
- 公路工程工作总结范文
- 初中物理杠杆滑轮课件
- 课件:第七章 社会工作项目结项(《社会工作项目策划与评估》课程)
评论
0/150
提交评论