软件开发笔试题搜集.doc_第1页
软件开发笔试题搜集.doc_第2页
软件开发笔试题搜集.doc_第3页
软件开发笔试题搜集.doc_第4页
软件开发笔试题搜集.doc_第5页
全文预览已结束

下载本文档

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

文档简介

1、 y构造函数为什么不能是虚函数A、 从存储角度上,虚函数对应一个指向vtable虚函数表的指针,指向对象的内存空间,若构造函数为虚函数,就需要通过vtable调用,但是对象还未实例化,木有内存空间,所以不能是虚函数B、 从使用角度上,虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数本身需要初始化实例,使用虚函数没有实际意义C、 构造函数不需要是虚函数,D、 从实现上看,vbtl在构造函数调用后才建立2、 java的冒泡排序public class MySortpublic static void main(String args) MySort sort=new MySort(); Int arr=new int; sort.sort(arr); for(int i:arr) System.out.print(i+”,”);Public void sort(int targetArr) Int temp=0; For(int i=0;itargetArr.length;i+) For(int j=0;jtargetArrj) Temp=targetArri;targetArri=targetArrj;targetArrj=temp;3、 懒汉式单例模式Package ood;Public class SingletonPrivate Singleton1() Private static final Singleton singleton1=null; Public synchronized static Singleton1 getInstance()If(single=null) Single=new Singleton1(); Return single4重载和重写的区别?(Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?)Overload:重载 |- 在一个类中定义的若干方法 |- 所有的方法名相同,但参数类型或个数不同 |- 只有参数有关,与返回类型无关Override:覆写 |- 在继承的关系中 |- 子类定义了父类同名的方法,参数类型或个数最好完全一样。 |- 访问权限不能更严格Overloaded的方法可以改变返回值的类型5在项目中都遇到哪些异常?NullPointException 、SQLException、IOException、ArrayIndexOutOfBoundsException6List, Set, Map是否继承自Collection接口?List和Set继承自Collection接口Map是单独的接口7存在map 中的多条值怎么循环显示出来?先调用map下的values()的方法 把所有的值取出来然后放到Collection里,然后用FOREACH循环显示就可以了8对单例模式的了解? 哪些地方都用到单例模式?单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。一些资源管理器常常设计成单例模式。 在计算机系统中,需要管理的资源包括软件外部资源,譬如每台计算机可以有若干个打印机,但只能有一个Printer Spooler, 以避免两个打印作业同时输出到打印机中。每台计算机可以有若干传真卡,但是只应该有一个软件负责管理传真卡,以避免出现两份传真作业同时传到传真卡中的情况。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。 需要管理的资源包括软件内部资源,譬如,大多数的软件都有一个(甚至多个)属性(properties)文件存放系统配置。这样的系统应当由一个对象来管理一个属性文件。 需要管理的软件内部资源也包括譬如负责记录网站来访人数的部件,记录软件系统内部事件、出错信息的部件,或是对系统的表现进行检查的部件等。这些部件都必须集中管理,不可政出多头。9在struts1 中控制器是用什么实现的?ActionServlet实现的10String 和StringBuffer的区别?JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据11int 和 Integer 有什么区别?Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。12servlet 生命周期?servlet容器可以理解为服务器,tomcat就是一个servlet容器.当用户有一个请求发来的时候,送到了tomcat端,即送到了servlet容器中,容器就创建一个servlet实例用来处理这个请求.通过init()方法初始化实例,然后就调用service()方法处理请求,并将结果返回.tomcat就返回一个响应.servlet在之后的过程中,如果没有被继续使用就会调用destory()方法销毁.要注意的是,servlet容器和servlet的区别.容器就好比一个篮子,里面有很多苹果,就是servlet.苹果可以不断的拿进拿出,但是篮子没了服务器关闭之后就什么也没有了.13、 final, finally, finalize的区别?final修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。 finally再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 finalize方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。14监听器和过滤器分别是什么,区别是什么?过滤器是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、有没有权限访问该页面等等工作。它是随你的web应用启动而启动的,只初始化一次,以后就可以拦截相关请求,只有当你的web应用停止或重新部署的时候才销毁监听器Listener是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。主要作用是: 做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等15所有的类都继承Object 他们都有Object的哪些方法?clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait16 AOP是什么?什么时候用?aop叫aspect oriented program,面向切面的编程ioc是invert of control,反转控制在spring in action那本书里有详细阐述,简单说一下,ioc就是其实就是依赖注入,即用接口编程,在程序中不出现new关键字,而是用接口来命名引用,然后通过某种方式(多数用spring,不过Google guice也是很好的ioc框架)把接口的某个实现类的实例注入到引用里,从而实现与接口具体实现类的松耦合aop方式就理解起来就简单了,其方式很类似j2ee中的filter,就是在程序正常的业务流中间像切面一样插入很多其他需要执行的代码,比如登陆时候在进入登录页面前写入日志,登录以后查看cookie等类似的操作,很常用的,尤其是跟数据库有关的,或者跟支付有关的程序肯定会在每一步前面插入日志,还有某些国际化项目会在每次跳转时候都转换字符集之类17说出JAVA中有几种访问修饰符?作用域分别是什么?作用域 当前类 同一package 子孙类 其他package public protected friendly private 18list 和 map 的区别? List动态集合的接口,好处是可以动态添加元素。很方便的通过Itractor迭代器来遍历集合元素。Map是键值对形式的集合,好处是可以通过相应键找到相应的值,就好比一把钥匙开一把相应的锁。set也是一种集合,其相邻的两个元素之间的有关系机制,好处是方便的横向的搜索相邻集合元素,但一旦删除其中的一个元素,则其相邻元素关系就得变更,不方便动态的添加和删除元素。19集合有那几种?区别是什么?set(集)、list(列表)和map(映射)。 区别嘛 HASHMAP只有KEY和value值对应的。set是可以自动清除相同的元素list是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当然,它与根本没有顺序的集是不同的。20Arra

温馨提示

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

评论

0/150

提交评论