2020年度Java笔试题答案.pdf
《2020年度Java笔试题答案.pdf》由会员分享,可在线阅读,更多相关《2020年度Java笔试题答案.pdf(95页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2 0 2 0 年 J a v a 笔试题+答案Java笔试题答:Je22是 Sun公司提出的多层(multidered),分布式(distributed),基 于组件(component-base)的 企 业 级 应 用 模 型(enterpriese applicationmodel).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,w eb层和组件,Business层和组件,企业信息系统(EIS)层。9答:J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。J
2、2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA 等技术。?如何实现?答:MVC 是 ModelViewController 的简写。M odel代 表 的 是 应 用 的 业 务 逻 辑(通过JavaBean,EJB组件实现),View”是应用的表 示 面(由JSP页面产生),Controller”是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。(如 STRUTS架构)答:Struts 是采用 Java Servlet/JavaServer Pages技 术,开 发
3、W eb 应 用 程 序 的 开 放 源 码 的framework。采 用Struts能 开 发 出 基 于MVC(ModeI-View-Controller)设计模式 的应用构架o Struts有如下的主要功能:servlet,能将用户的请求发送到相应的Action对象。,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM 的解释。SOAP、UDDI,WSDL解释。答:Web Se
4、rviceWeb Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其它兼容的组件进行互操作。JAXP(Java API for XML Parsing)定义了在Java中使用DOM,SAX,XSLT的通用的接口。这样在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。JAXM(Java API for XML Messaging)是为SOAP通信提供访问方法和传输机制的APEWSDL是 一 种XML格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。
5、这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。SO A P即 简 单 对 象 访 问 协 议(Simple ObjectAccess Protocol),它是用于交换XML编码信息的轻量级协议。U D D I的目的是为电子商务建立标准;UDDI是一套基于 W eb的、分布式的、为 Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的WebService注册,以使别的企业可以发现的访问协议的实现标准。答:有如下八个方面的不同:硬件环境不同:C/S 一般建立在专用的网络上,
6、小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务.B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备.信息自己管理.有比C/S更强的适应范围,一般只要有操作系统和浏览器就行对安全要求不同C/S 一般面向相对固定的用户群,对信息安全的控制能力很强.一般高度机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息.B/S建立在广域网之上,对安全的控制能力相对弱,可能面向不可知的用户。(3)对程序架构不同C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑.B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上
7、.比C/S有更高的 要 求 B/S 结构的程序架构是发展的趋势,Exchange等,全面支持网络的构件搭建的系统.S U N 和I B M 推的JavaBean构件技术等,使 B/S更加成熟.(4)软件重用不同C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好.B/S对的多重结构,要求构件相对独立的功能.,而不是做在墙上的石头桌子(5)系统维护不同C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升级难.可能是再做一个全新的系统B/S构件组成,方面构件个别的更换,实现系统的无缝升级.(6)处理问题不同C/S程序可以处理用户面固定,并且在相同区域,安
8、全要求高需求,与操作系统相关.应该都是相同的系统B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的.与操作系统平台关系最小.(7)用户接口不同C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度减低,减低开发成本.(8)信息流不同C/S程序一般是典型的中央集权的机械式处理,交互性相对低B/S信息流向可变化,B-B B-C B-G等信息、流向的变化,更像交易中心。答:(Java Naming&Directory Interface)JAVA命名目录服务。主要提供的功能是:提供一个目录系
9、统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。答:(Java Message Service)JAVA 消息月艮务。主要实现各个应用程序之间的通讯。包括点对点和广播答:(Java Transaction API)JAVA 事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。?用在什么场合?答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了 MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简
10、单工厂模式等。IL、j2ee常用的设计模式?说明工厂模式。答:Java中的23种设计模式:Factory(工厂模式),Builder(建造模式),Factory Method(工厂方法模式),Prototype(原始模型模式),Singleton(单例模式),Facade(门面模式),Adapter(适配器模式),Bridge(桥梁模式),Composite(合成模式),Decorator(装饰模式),Flyweight(享元模式),Proxy(代理模式),Command(命令模式),Interpreter(解释器模式),Visitor(访问者模式),Iterator(迭代子模式),Media
11、tor(调停者模式),Memento(备忘录模式),Observer(观察者模式),State(状态模式),Strategy(策略模式),Template Method(模板方法模式),Chain OfResponsibleity(责任链模式)工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,
12、开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。答:标准建模语言UMLo用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图R M I指 的 是 远 程 方 法 调 用(Remote MethodInvocation)。它是一种机制,可 以 让 在 某 个Java虚 拟 机 上 的 对 象 调 用 另 一 个Java虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。调用这样一个对象时,其 参 数 为“marshalled”并将其从本地虚拟机 发 送 到 远 程 虚 拟 机(该远程虚拟机的参数为nunmarshalledH)上
13、。该方法终止时,将编组来自远程机的结果并将结果发送到调用方的虚拟机。如果方法调用导致抛出异常,则该异常将指示给调用方。JAVA基础“public/private/protected/缺省的修饰符”的使用类?public:公共,均可访问p rivate:私有的,.protected:.缺省,friendly:目前类洞一个包,都可以访问.作用域 目前类 同一 package子孙类 其它package7p ublic、N Nprotected N Yq xfriendly N Nx xprivate 7 xx xInner Class(匿名内部类)是否可以extends(继承)其 它 类,是 否 可
14、 以 implements(实现)interface(接)?匿名内部类是没有名字的内部类,不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现.一、由于匿名内部类没有名字,所以它没有构造函数。因为没有构造函数,所以它必须完全借用父类的构造函数来实例化,换言之:匿名内部类完全把创建对象的任务交给了父类去完成。二、在匿名内部类里创建新的方法没有太大意义,但它可以通过覆盖父类的方法达到神奇效果,如上例所示。这是多态性的体现。三、因为匿名内部类没有名字,所以无法进行向下的强制类型转换,持有对一个匿名内部类对象引用的变量类型一定是它的直接或间接父类类型。new v 类或接口v 类的主体匿名类
15、匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作 为 n e w 语句的一部分来声明它们。这就要采用另一种形式的new语句,如下所示:new v 类或接口 类的主体,这种形式的n e w 语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是n e w 语句的操作数,后跟匿名类的主体。如果匿名类对另一个类进行扩展,它的主体可以访问类的成员、覆盖它的方法等等,这和其它任何标准的类都是一样的。如果匿名类实现了一个接口,它的主体必须实现接口的方法。注意匿名类的声明是在编译时进行的,实例化
16、在运行时进行。这意味着for循环中的一个new语句会创建相同匿名类的几个实例,而不是创建几个不同匿名类的一个实例。从技术上说,匿名类可被视为非静态的内部类,所以它们具有和方法内部声明的非静态内部类一样的权限和限制。如果要执行的任务需要一个对象,但却不值得创建全新的对象(原因可能是所需的类过于简单,或者是由于它只在一个方法内部使用),匿名类就显得非常有用。匿名类尤其适合在Swing应用程序中快速创建事件处理程序。exp:return new Contents()private int i=11;public int value()return i;);这种奇怪的语法要表达的意思是:“创建从Con
17、tents衍生出来的匿名类的一个对象”。由new 表达式返回的句柄会自动上溯造型成一个Contents句柄。匿名内部类的语法其实要表达的是:class MyContents extends Contents private int i=11;public int value()return i;return new MyContents();若试图定义内部类,并想使用在匿名内部类外部定义的一个对象,则编译器要求外部对象必须是final属性.public class Parcel9 public Destinationdest(final String dest,final float pric
18、e)return new Destination()private int cost;/Instance initialization for each object:cost=(price);if(cost 100)(Over budget!n);)private String label=dest;public String readLabel()returnlabel;);)public static void main(String args)Parcel9 p=new Parcel9();Destination d=(Tanzania,);)nested class 和 inner
19、class 的不同?nested class在 C+中是嵌套类,innei,不需要一个外部类对象;不能从一个static内部类的一个对象访问到一个外部类的对象.5.&和&的区别&是位运算符,表示按位与运算;&是逻辑运算符,表示逻辑与(and)collection是集合类的上级接口,继承与它的接口主要是set和 list其中list必须以特定的顺序容纳元素;而一个set不能包含重复的元素.映射(Map)一系列 键-值”,一个包含自己值的list,或者包含自己(键-值)对的一个list.均可构建自己的反复器.,排序,线程安全化等操作.public class SimpleCollection pu
20、blic static void main(String args)Collection c=new ArrayList();for(int i=0;i short char 或者 byte。long,string 都不能作用于swtich?为什么要有GC答:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。f=?答:不正确。精度不准确,应该用强制类型转换,如下所
21、示:float f=(float)FrameWork(包括如何写自己的数据结构)?答:Collection FrameWork 如下:Collection卜 List|-LinkedList|-ArrayList|1-Vector|LstackLSetMap卜 Hashtable|-HashMapL-WeakHashMapCollection是最基本的集合接口,一个Collection代 表 一 组 Object,即 Collection的元素(Elements)Map提供key到 value的映射.答:抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标
22、识(同时有多重继承的功能)Collection框架中实现比较要实现Comparable接口和 Comparator 接口答:ST R IN G 的 长 度 是 不 可 变 的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,尤其是内容要修改时,那 么 使 用StringBuffer,如果最后需要String,那么使用 StringBuffer 的 toString()方法,finally,finalize 的区另U答:final修饰符(关键字)如果一个类被声明为fin al,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的
23、,又被声明为final的o将变量或方法声明为fin al,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载finally一再异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)finalize一方法名。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它 是 在Object
24、类中定义的,因此所有的类都继承了它。子 类 覆 盖finalize()方法以整理系统资源或者执行其它清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的答:主要有以下四方面:抽象就是忽略一个主题中与目前目标无关的那些方面,以便更充分地注意与目前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始
25、类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其它对象。4.多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。答:基本数据类型包括byteintcharlong floatsdouble boolean 和 short o,因
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2020 年度 Java 笔试 答案
限制150内