java求职笔试面试网络资源打包j2ee面试题_第1页
java求职笔试面试网络资源打包j2ee面试题_第2页
java求职笔试面试网络资源打包j2ee面试题_第3页
java求职笔试面试网络资源打包j2ee面试题_第4页
java求职笔试面试网络资源打包j2ee面试题_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2.抽象类和接口的区别(1)接口可以被多重 implements,抽象类只能被单一 extends (2)接口只有定义,抽象类可以有定义(3)接口的字段定义默认为:public sic final, 抽象类字段默认是friendly(本包可见)3.Hashtable 的原理,并说出 HashMap 与 Hashtable 的区别HashTable 的原理:通过节点的关键码确定节点的位置,即给定节点的关键码 k,通过一定的函数关系 H(散列函数),得到函数值 H(k),将此值解释为该节点的地址.HashMap 与 Hashtable 很相似,但 HashMap 是非同步(unsynchroniz

2、ded)和可以以 null 为关键码的.4 forward 和 redirect 的区别forward: anernal transfer in servletredirect: 重定向,有 2 次 request,第 2 次 request 将丢失第一次的 attributs/parameters 等5.Web 容器?实现 J2EE 规范中 web 协议的应用.该协议定义了 web 程序的运行时环境,包括:并发性,安全性,生命周期管理等等.6.解释下面关于 J2EE 的名词(1)JNDI:Java Naming & Directoryerface,JAVA 命名目录服务.主要提供的功能是:提

3、供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能.(2)JMS:Java Message Service,JAVA 消息服务.主要实现各个应用程序之间的通讯.包括点对点和广播.(3)JTA:Java Tranion API,JAVA 事务服务.提供各种分布式事务服务.应用程序只需调用其提供的接口即可.(4)JAF: Java Action FrameWork,JAVA 安全认证框架.提供一些安全控制方面的框架.让开发者通过各种部署和自定义实现自己的个性安全控制策略.(5)RMI:Remote Methoderface,方法调用7.EJB 是

4、基于哪些技术实现的?并说 出 SesBean 和 EntityBean 的区别,SefulBean 和 SelessBean 的区别.EJB 包括 SesBean、Entity Bean、Message Driven Bean,基于 JNDI、RMI、JAT 等技术实现.SesBean 在 J2EE 应用程序中被用来完成一些服务器端的业务操作,例如数据库、调用其他 EJB 组件.EntityBean 被用来代表应用系统中用到的数据.对于客户机,SesBean 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑;EntityBean 是一种持久性对象,它代表一个在持久性器中的实体的对象视图,

5、或是一个由现有企业应用程序实现的实体.SesBean 还可以再细分为 Seful SesBean 与 Seless SesBean .这两种的 SesBean 都可以将系统逻辑放在 method之中执行,不同的是 Seful SesBean 可以呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Seful SesBean 的实体.Seless SesBean 虽然也是逻辑组件,但是他却不负责使用者状态,也就是说当使用者呼叫 Seless SesBean 的时候,EJB Container 并不会找寻特定的 Seless SesBean 的实体来执行这个 method.换言之,很可能数个使

6、用者在执行某个 SelessSesBean 的 methods 时,会是同一个 Bean 的 Instance 在执行.从内存方面来看, Seful SesBean 与 Seless SesBean 比较, Seful SesBean 会消耗 J2EE Server 较多的内存,然而 Seful SesBean 的优势却在于他可以维持使用者的状态.8.XML 的方法Sax,DOM,JDOM9.Web Service?Web Service 就是为了使原来各孤立的站点之间的信息能够相互通信、共享而一种接口。Web Service 所使用的是ernet 上、开放的标准,如 HTTP、XML、SOA

7、P(简单对象协议)、WSDL 等,所以 Web Service 可以在任何支持这些标准的环境(Windows,Linux)中使用。注:SOAP 协议(Simple Object Acs Protocal,简单对象协议),它是一个用于分散和分布式环境下网络信息交换的基于 XML 的通讯协议。在此协议下,组件或应用程序能够通过标准的 HTTP 协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和之间的互操作性,从而使存在的应用程序能够被广泛的用户。优势:(1).跨。(2).SOAP 协议是基于 XML 和 HTTP 这些业界的标准的,得到了所有的重要公司的支持。(3).由于使用了

8、SOAP,数据是以 ASCII 文本的方式而非二进制传输,调试很方便;并且由于这样,它的数据容易通过,不需要为了程序而单独开一个“”。此外,WebService 实现的技术难度要比 CORBA 和 DCOM 小得多。要实现 B2B 集成,EDI 比较完善与比较复杂;而用 WebService 则可以低成本的实现,小公司也可以用上。在 C/S 的程序中,WebService 可以实现网页无整体刷新的与服务器打交道并取数。缺点:(1).WebService 使用了 XML 对数据封装,会造成大量的数据要在网络中传输。(2).WebService 规范没有规定任何与实现相关的细节,包括对象模型、编程

9、语言,这一点,它不如 CORBA。10.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?答:多线程有两种实现方法,分别是继承 Thread 类与实现 Runnable 接口同步的实现方面有两种,分别是 synchronized,wait 与 notify11.JSP 中动态 INCLUDE 与静态 INCLUDE 的区别?动态 INCLUDE 用 jsp:include 动作实现它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数静态 INCLUDE 用 include 伪码实现,定不会检查所含文件的变化,适用于包含静态页面一根筷子 2006-02-10 16:59

10、一、JSP 内置对象有哪些?内置对象是不需要,直接在 jsp 中使用的对象,JSP 有以下几种内置对象:(1)request 表示 HttpServletRequest 对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取的方法。,header 和 ses数据的有用(2)response 表示 HttpServletResponse 对象,并提供了几个用于设置送回浏览器响应的方法(如s,头信息等)out 对象是 javax.jsp.JspWriter 的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。pageContext 表示一个 javax.servlet.jsp.Page

11、Context 对象。它是用于方便存取各种范围的名字空间、servlet 相关的对象的 API,并且包装了通用的 servlet 相关功能的方法。(5)ses表示一个请求的 javax.servlet http.HttpSes对象。ses可以用户的状态信息application 表示一个 javax.servlet.ServletContext 对象。这有助于查找有关 servlet 引擎和 servlet 环境信息config 表示一个 javax.servlet.ServletConfig 对象,该对象用于存取 servlet 实例的初始化参数page 表示该页面产生的一个 servlet

12、 实例二、servlet 容器必需遵守的生命周期?(1)创建和初始化 servlet (2)处理客户端的服务调用(3)破坏 servlet 并对其进行收集三、include 指令和 include 动作的区别?include 指令只能合并静态文档或另一个 jsp 页面中的内容。include 动作包括来自 URL 的输出结果,因此他包含动态生成的输出结果。四、STRING 和 STRINGBUFFER 的区别?(1)每个 STRING 函数在他们改变字符串内容时,都传回一个新的 STRING 对象,如果字符串没有改动,那么该函数便会直接传回一个reference 指向原本的 STRING 这种

13、做法可能节省空间以及非必要的额外负担。(2)STRINGBUFFER 经常使用的方法 append(),insert().2 个方法都会在缓冲区进行大量修改而不产生新对象。五、forward 和 redirect 的区别?(1)forward地将控制权从 JSP 页面传输给本地服务器的另一位置,丢弃当前页面生成的任何内容,并在替换位置上进行重新请求,客户机并不知道。(2)redirect 则是服务器收到请求后发送一个状态头给客户,客户将再请求一次,这里多了两次网络通信的来往六、J2EE 中 web 会话有几种,区别是什么?(1),利用 HTTP来有关购物会话的信息,后继的各个连接可以查看当前会

14、话,然后从服务器的某些地方提取有关该会话的完整信息。这是一种优秀的,也是应用最广泛的方法。然而,即使 Servlet 提供了一个高级的、使用方便的的细节问题需要处理:接口,仍旧有一些繁琐从其他为中分别出保存会话标识的。设置合适的作废时间(例如,中断时间超过 24 小时的会话一般应重置)。把会话标识和服务器端相应的信息关联起来。(实际保存的信息可能要远远超过保存到的信息,而且象号等敏感信息不应该用来保存。)(2) 改写 URL,可以把一些标识会话的数据附加到每个 URL 的后面,服务器能够把该会话标识和它所保存的会话数据关联起来。这也是一个很好的方法,而且还有当浏览器不支持或用户已经禁用的情况下

15、也有效这一优点。然而,大部分使用时所的问题同样存在,即服务器端的程序要进行许多简单但单调冗长的处理。另外,还必须十分地保证每个 URL 后面都附加了必要的信息(包括非直接的,如通过 Location 给出的重定向 URL)。如果用户结束会话之后又通过书签返回,则会话信息会丢失。(3)隐藏表单域,这意味着,当表单被提交时,隐藏域的名字和数据也被包含到 GET 或T 数据里,可以利用这一机制来维持会话信息。然而,这种方法有一个很大的缺点,它要求所有页面都是动态生成的,因为整个问题的就是每个会话都要有一个唯一标识符。(4) Servlet 为提供了一种与众不同的方案:HttpSesAPI。HttpS

16、esAPI 是一个基于或者 URL 改写机制的高级会话状态接口:如果浏览器支持,则使用;如果浏览器不支持或者功能被关闭,则自动使用 URL 改写方法。七、下面哪些类可以被继承? java lang.Thread (T)java lang.Number (T) java lang.Double (F) java lang.Math (F) java lang.Void (F) java lang.Class (F)java lang.ClassLoader (T)八、抽象类和接口的区别(1)接口可以被多重 implements,抽象类只能被单一 extends (2)接口只有定义,抽象类可以有定

17、义(3)接口的字段定义默认为:public sic final, 抽象类字段默认是friendly(本包可见)九、Hashtable 的原理,并说出 HashMap 与 Hashtable 的区别HashTable 的原理:通过节点的关键码确定节点的位置,即给定节点的关键码k,通过一定的函数关系H(散列函数),得到函数值H(k),将此值解释为该节点的地址.HashMap 与 Hashtable 很相似,但 HashMap 是非同步(unsynchronizded)和可以以 null 为关键码的.Web 容器?十、实现 J2EE 规范中 web 协议的应用.该协议定义了 web 程序的运行时环境

18、,包括:并发性,安全性,生命周期管理等等.十一、解释下面关于 J2EE 的名词(1)JNDI:Java Naming & Directoryerface,JAVA 命名目录服务.主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能.(2)JMS:Java Message Service,JAVA 消息服务.主要实现各个应用程序之间的通讯.包括点对点和广播.(3)JTA:Java Tranion API,JAVA 事务服务.提供各种分布式事务服务.应用程序只需调用其提供的接口即可.(4)JAF: Java Action Fra

19、meWork,JAVA 安全认证框架.提供一些安全控制方面的框架.让开发者通过各种部署和自定义实现自己的个性安全控制策略.(5)RMI:Remote Methoderface,方法调用十二、EJB 是基于哪些技术实现的?并说 出 SesBean 和 EntityBean 的区别,SefulBean 和 SelessBean 的区别.EJB 包括 SesBean、Entity Bean、Message Driven Bean,基于 JNDI、RMI、JAT 等技术实现.SesBean 在 J2EE 应用程序中被用来完成一些服务器端的业务操作,例如数据库、调用其他 EJB 组件.EntityBea

20、n 被用来代表应用系统中用到的数据.对于客户机,SesBean 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑;EntityBean 是一种持久性对象,它代表一个在持久性器中的实体的对象视图,或是一个由现有企业应用程序实现的实体.SesBean 还可以再细分为 Seful SesBean 可以Bean 与 Seless SesBean .这两种的 SesBean 都可以将系统逻辑放在 method 之中执行,不同的是 Seful Ses呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Seful SesBean 的实体.Seless SesBean 虽然也是逻辑组件,但是他却不负

21、责使用者状态,也就是说当使用者呼叫 Seless SesBean 的时候,EJB Container 并不会找寻特定的 Seless SesBean 的实体来执行这个 method.换言之,很可能数个使用者在执行某个 SelessSesBean 的 methods 时,会是同一个 Bean 的 Instance 在执行.从内存方面来看, Seful SesBean 与 Seless SesBean 比较, Seful SesBean 会消耗 J2EE Server 较多的内存,然而 Seful SesBean 的优势却在于他可以维持使用者的状态.十三、XML 的方法Sax,DOM,JDOM十四

22、、Web Service?Web Service 就是为了使原来各孤立的站点之间的信息能够相互通信、共享而一种接口。Web Service 所使用的是ernet 上、开放的标准,如 HTTP、XML、SOAP(简单对象协议)、WSDL 等,所以 Web Service 可以在任何支持这些标准的环境(Windows,Linux)中使用。注:SOAP 协议(Simple Object Acs Protocal,简单对象协议),它是一个用于分散和分布式环境下网络信息交换的基于 XML 的通讯协议。在此协议下,组件或应用程序能够通过标准的 HTTP 协议进行通讯。它的设计目标就是简单性和扩展性,这有助

23、于大量异构程序和之间的互操作性,从而使存在的应用程序能够被广泛的用户。优势:(1).跨;(2).SOAP 协议是基于 XML 和 HTTP 这些业界的标准的,得到了所有的重要公司的支持。(3).由于使用了 SOAP,数据是以 ASCII 文本的方式而非二进制传输,调试很方便;并且由于这样,它的数据容易通过,不需要防火墙为了程序而单独开一个“”。此外,WebService 实现的技术难度要比 CORBA 和 DCOM 小得多。要实现 B2B 集成,EDI 比较完善与比较复杂;而用 WebService 则可以低成本的实现,小公司也可以用上。在 C/S 的程序中,WebService 可以实现网页

24、无整体刷新的与服务器打交道并取数。缺点:(1).WebService 使用了 XML 对数据封装,会造成大量的数据要在网络中传输。(2).WebService 规范没有规定任何与实现相关的细节,包括对象模型、编程语言,这一点,它不如 CORBA。十五、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?多线程有两种实现方法,分别是继承 Thread 类与实现 Runnable 接口同步的实现方面有两种,分别是 synchronized,wait 与 notify十六、工作流工作流(Workflow)就是工作流程的计算模型,即将工作流的工作如何前后组织在一起的逻辑和规则在计算机中以恰当

25、的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。 工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。Java 编程与程序运行结果 1.Ja

26、va 编程,打印昨天的当前时刻 public class YesterdayCurrent public void main(String args)Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -1); System.out.prln(cal.getTime();2.文件读写,实现一个计数器publicgetNum() i = -1;tryString stri=;BufferedReader in = new BufferedReader(new FileReader(f); while(stri=in.read

27、Line()!=null)i =egarse(stri.trim();in.close();catch(Exception e) e.prStackTrace();return i;public void setNum()i = getNum(); i+;tryPrWriter out=new PrWriter(new BufferedWriter(new FileWriter(lse);out.write(String.valueOf(i);此此处写入的是 String/可能是编码的原因,如果直接写入的话,将出现 java 编码和 windows 编码的,因olose() ;catch(Ex

28、ception e)e.prStackTrace();3.下面程序的运行结果:class Asic System.out.prpublic A()System.out.prclass B extends A sicSystem.out.prpublic B()System.out.prpublic classo(1);(2);(a);(b);public sic void main(String ars)A ab = new B(); /执行到此处,结果: 1a2b ab = new B(); /执行到此处,结果: 1a2b2b注:类的 sic 代码段,可以看作是类首次加载(被虚拟机加载)执行

29、的代码,而对于类的加载,首先要执行其基类的构造,再执行其本身的构造4.写一个 Singleton 模式的例子public class Singletonprivate sic Singleton single = new Singleton(); private Singleton()public Singleton getInstance() return single;5.下面的程序的编译运行情况:publicerface Foo F= 0 ;public class Test implements Foopublic s ic void main(String args) i ;Test

30、 test = new Test();i = Foo.Fi = Test.F i = test.F; /line a; /line b; /line cSystem.out.pr ln(i) ;正确为 AA.编译通过,结果为 0 B line a 处编译出错 C line b 处编译出错 D line c 处编译出错数据库1.删除表的重复如果完全相同才算重复,那么: (sql server2000 下测试通过)select distinct *delete from tido #tmpp from tidinserto tid select * from #tmppdrop table #tm

31、pp如果有 id 主键(数字,自增 1 的那种),那么:(sql server2000 下测试通过) delete from tableA where id not in(select id = min(id) from tableA group by name)2.delete from tablea truncate table tablea 的区别truncate 语句执行速度快,占资源少,并且只页删除的日志;delete 对每条的删除均需要日志第一,谈谈 final, finally, finalize 的区别。final 用于属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继

32、承。finally 是异常处理语句结构的一部分,表示总是执行。finalize 是 Object 类的一个方法,在例如关闭文件等。收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供收集时的其他资源回收,第二,Anonymous Inner Class (类) 是否可以 extends(继承)其它类,是否可以 implements(实现)erface(接口)?可以继承其他类或完成其他接口,在 swing 编常用此方式。第三,Sic Nested Class 和 Inner Class 的不同,说得越多越好(面试题有的很笼统)。Sic Nested Class 是被实例化。为静态(sic

33、)的类,它可以不依赖于外部类实例被实例化。而通常的类需要在外部类实例化后才能第四,&,|,&,|,代表什么?&逻辑与,|逻辑或,逻辑异或,!逻辑反, &短路与,|短路或。第五,HashMap 和 Hashtable 的区别。HashMap 是 Hashtable 的轻量级实现(非线程安全的实现),他们都完成了 Map 接口,主要区别在于 HashMap 允许空(null)键值(key),由于非线程安全,效率上可能高于 Hashtable.第六,Collection 和 Collections 的区别。Collection 是集合类的接口,继承与他的接口主要有 Set 和 List.Collec

34、tions 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。第七,什么时候用 assert。1.4 新增关键字(语法),用于测试表达式状态,可用于调试程序。使用方法 assert 另外的使用方式 assert ,表示如果表达式为真(true),则下面的语句执行,否则抛出 AssertionError。表达式:,表示如果表达式为真,后面的表达式忽略,否则后面表达式的值用于AssertionError 的构建参数。注意编译时要增加-source 1.4 参数,否则报错。运行时要增加 -ea 参数,否则 assert 行被忽略第八,GC 是什么? 为什么要

35、有 GC?GC 是不稳定甚至收集的意思(Gabage Collection),内存处理是编程容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的,Java 提供的 GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java 语言没有提供已分配内存的显示操作方法。第九,String s = new String(xyz);创建了几个 String Object?两个第十,Math round(11.5)等於多少? Math round(-11.5)等於多少?Math round(11.5)=12 Math round(-11.5)=-11round 方法返回与参数最接近

36、的长整数,参数加 1/2 后求其 floor.第十一,short s1 = 1; s1 = s1 + 1;short s1 = 1; s1 = s1 + 1; (s1+1 运算结果是short s1 = 1; s1 += 1;(可以正确编译)第十二,sleep() 和 wait(),yield()错? short s1 = 1; s1 += 1;型,需要强制转换类型)错?区别?sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是状态依然保持,到时后会自动恢复。调用 sleep 不会对象锁。wait 是 Object 类的方法,对此对象调用 wait

37、 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出 notify 方法(或 notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 yield 线程显示出让 cpu 控制权。第十三,Java 有没有 goto?没有很十三,如果哪个面试的问到这个问题,我劝你还是别进这家公司。(完)()第十四,数组有没有 length()这个方法? String 有没有 length()这个方法?数组没有 length()这个方法,有 length 的属性。String 有有 length()这个方法。第十五,Overload 和 Override 的区别。Overloa

38、ded 的方法是否可以改变返回值的类型?方法的重写 Overriding 和重载 Overloading 是 Java 多态性的不同表现。重写 Overriding 是父类与子类之间多态性的一种表现,重载Overloading 是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded 的方法是可以改变返回值的类型。

39、第十六,Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用=还是 equals()? 它们有何区别?Set 里的元素是不能重复的,那么用 iterator()方法来区分重复与否。equals()是判读两个 Set 是否相等。equals()和=方法决定值是否指向同一对象 equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。第十七,给我一个你最常见到的 runtime exception。ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderfl

40、owException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorSeException, IllegalPathSeException, IllegalSeException,ImagingOpException, IndexOutOfBoundsException,

41、MissingResourceException, NegativeArraySizeException, NoSuchElementException,NullPoerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException第十八,error 和 excepti

42、onerror 表示恢复不是不可能但很区别?的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。第十九,List, Set, Map 是否继承自 Collection 接口? List,Set 是Map 不是第二十,abstract class 和erface区别?方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一现某些基本行为的类,并为该类方法,但不能在该类中实现该类的情况。不能创建 abstract 类的实例。然而可以创建一个变量,其类型是

43、一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口( erface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义 sic final 成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接

44、口的方法。由变量的类型。通常的动态联编将生效。可以转换到接口类型或从接口类型转换,instanceof 运于有抽象类,它允许使用接口名作为算符可以用来决定某对象的类是否实现了接口。第二十一,abstract 的 method 是否可同时是 sic,是否可同时是 native,是否可同时是 synchronized?都不能第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。第二十三,启动一个线

45、程是用 run()还是 start()?启动一个线程是调用 start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由 JVM 调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。第二十四,构造器 Constructor 是否可被 override?构造器 Constructor 不能被继承,因此不能重写 Overriding,但可以被重载 Overloading。第二十五,是否可以继承 String 类?String 类是 final 类故不可以继承。第二十六,当一个线程进入一个对象的一个 synchronized 方法后,其它线程

46、是否可进入此对象的其它方法?不能,一个对象的一个 synchronized 方法只能由一个线程。第二十七,try 里有一个 return 语句,那么紧跟在这个 try 后的 finally 里的 code 会不会被执行,什么时候被执行,在 return 前还是后?会执行,在 return 前执行。第二十八,编程题: 用最有效率的方法算出 2 乘以 8 等於几?有 C 背景的程序员特别喜欢问这种问题。2 3第二十九,两个对象值相同(x.equals(y) = true),但却可有不同的 hash code,这句话对不对?不对,有相同的 hash code。第三十,当一个对象被当作参数传递到一个方

47、法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是传递?是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的。对象的内容可以在被调用的方法中改变,但对象的是不会改变的。第三十一,swtich 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?switch(expr1)中,expr1 是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是都不能作用于 swtich。、 short、 char 或者 byong,string第三十二,编程题: 写一个 S

48、ingleton 出来。Singleton 模式主要作用是保证在 Java 应用程序中,一个类 Class 只有一个实例存在。一般 Singleton 模式通常有几种种形式:第一种形式: 定义一个类,它的构造函数为 private 的,它有一个 sic 的 private 的该类变量,在类初始化时实例话,通过一个 public 的getInstance 方法获取对它的public class Singleton private Singleton(),继而调用其中的方法。/在自己定义自己一个实例,是不是很奇怪?/注意这是 private 只供调用private sic Singleton in

49、stance = new Singleton();/这里提供了一个供外部本 class 的静态方法,可以直接public sic Singleton getInstance() return instance;第二种形式:public class Singleton private sic Singleton instance = null;public sic synchronized Singleton getInstance() /这个方法比上面有所改进,不用每次都进行生成对象,只是第一次/使用时生成实例,提高了效率! if (instance=null)instancenew Sing

50、leton();return instance;其他形式:定义一个类,它的构造函数为 private 的,所有方法为 s一般认为第一种形式要更加安全些ic 的。题 1:Choose the three valid identifiers from those listed below.A. IDoLikeTheLongNameClassB. $byteC. constD. _okE. 3_case解答:A, B, D点评:Java 中的标示符必须是字母、符($)或下划线(_)开头。关键字与保留字不能作为标示符。选项 C 中的 const 是 Java 的保留字,所以不能作标示符。选项 E 中的

51、 3_case 以数字开头,了 Java 的规则。例题 2:How can you force garbage collection of an object?A. Garbage collection cannot be forcedB. Call System.gc().C. Call System.gc(), passing in a reference to the object to be garbage collected.D. Call Runtime.gc().E. Set all referento the object tvalues(null, for exle).解答:

52、A点评:在 Java 中收集是不能被强迫立即执行的。调用 System.gc()或 Runtime.gc()静态方法不能保证收集器的立即执行,因为,也许存在着更高优先级的线程。所以选项 B、D 不正确。选项 C 的错误在于,System.gc()方法是不接受参数的。选项 E 中的方法可以使对象在下次收集器运行时被收集。例题 3:Consider the following class:1. class Test(i) 2. void test(i) 3. System.out.prln(“I am an.”);4. 5. void test(String s) 6. System.out.pr

53、ln(“I am a string.”);7. 8.9. public sic void main(String args) 10. Test t=new Test();11. char ch=“y”;12. t.test(ch);13. 14. Which of the sements below is true?(Choose one.)A. Line 5 will not compile, because void methods cannot be overridden.B. Line 12 will not compile, because there is no verof tes

54、t()t rakes a char argument.C. The code will compiut will throw an exceptionine 12.D. The code will compile and produce the following output: I am an.E. The code will compile and produce the following output: I am a String.解答:D点评:在第 12 行,16 位长的 char 型变量 ch 在编译时会自动转化为一个 32 位长的型,并在运行时传给 void test(i)方法。

55、例题 4:Which of the following lines of code will compile without error?A.i=0;if (i) System.out.prln(“Hi”);B.b=true;b2=true;if(b=b2) System.out.prln(“So true”);C.i=1;j=2;if(i=1| j=2)System.out.prln(“OK”);D.i=1;j=2;if (i=1 &| j=2)System.out.prln(“OK”);解答:B, C点评:选项 A 错, 为 if 语句后需要一个确。类型的表达式。逻辑操作有、&、| 和 &

56、、|,但是“&|”是的,所以选项 D 不正例题 5:Which two demonstrate a has a relationship? (Choose two)A. publicerface public class Employee extends B. publicerfah publicerface Rectandle extends Sh 因C. publicerface Colorable public class Shimplements Colorable D. public class Species public class Animalprivate Species s

57、pecies;E.erface Component class Container implements Componentprivate Component children;解答:D, E点评: 在 Java 中代码重用有两种可能的方式,即组合(“has a”关系)和继承(“is a”关系)。“has a”关系是通过定义类的属性的方式实现的;而“is a”关系是通过类继承实现的。本例中选项 A、B、C 体现了“is a”关系;选项 D、E 体现了“has a”关系。例题 6:Which two sements are true for the class java.util.TreeSet

58、? (Choose two)A. The elementshe collection are ordered.B. The collection is guaranteed to be immutable.C. The elementshe collection are guaranteed to be unique.D. The elementshe collection are acsed using a unique key.E. The elementshe collection are guaranteed to be synchronized解答:A, C点评:TreeSet 类实

59、现了 Set 接口。Set 的特点是其中的元素惟一,选项 C 正确。由于采用了树形选项 A 也正确。方式,将元素有序地组织起来,所以例题 7:True or False: Readers have methodst can read and return floats and doubles.A. TureB. False解答:B点评: Reader/Writer 只处理 Unicode 字符的输入输出。float 和 double 可以通过 stream 进行 I/O.例题 8:What does the following pa() method draw?1. public void p

60、a(Graphics g) 2. g.drawString(“Any question”, 10, 0);3. A. The string “Any question?”, with its top-left corner at 10,0B. A little squiggle coming down from the top of the component.解答:B点评:drawString(String str,x,y)方法是使用当前的颜色和字符,将 str 的内容显示出来,并且最左的字符的基线从(x,y)开始。在本题中,y=0,所以基线位于最顶端。只能看到下行字母的一部分,即字母y、q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论