java面试笔试题.doc_第1页
java面试笔试题.doc_第2页
java面试笔试题.doc_第3页
java面试笔试题.doc_第4页
java面试笔试题.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、面向对象的三个特征:多态、继承、封装2、String不是基本数据类型;答:基本数据类型有byte、int、char、long、float、double、boolean、short3、int和Integer区别? 答:int是java的原始数据类型,Integer是java为int提供的封装类。4、String和StringBuffer的区别? 答:String类提供的数据字符串不可修改; StringBuffer类提供的字符串可以进行修改。5、Servlet的生命周期,并说出servlet与CGI的区别? 答:servlet被服务器实例化,容器运行int方法,当请求达到的时候运行 service方法,service方法会自动派遣运行与请求对应的doget或dopost 方法当服务器决定将实例销毁的时候调用其destroy方法。 区别:与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法, 一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。6、ArrayList,Vector,LinkedList的存储性能和特性? 答:ArrayList和Vector都是使用数组存储数据,它们都允许直接按序号索引元素; Vector由于使用了synchronized方法,通常性能上比ArrayList差; LinkedList使用双向链表实现存储,插入速度比较快。7、Collection和Collections的区别? 答:Collection是集合类的上级接口,继承它的接口主要有set和list; :Collections是针对集合类的一个帮助类,它提供一系列的静态方法实现对各种集合的搜索、排序、线程安全化等操作。8、&和&的区别? 答:&是位运算符,表示按位与运算; &是逻辑运算符,表示逻辑与(and)。9、HashMap和Hashtable的区别? 答:HashMap是Hashtable的轻量级实现(非线程安全的实现),它们都完成了Map接口 主要区别在于HaspMap允许空键值,由于非线程安全,效率高于Hashtable。 :HashMap是java1.2引进的Map接口的一个实现(interface)。 :Hashtable的方法是Synchronized的,而HashMap不是,在多个线程访问Hashtable时不需要把自己为他的方法实现同步,而HashMap必须提供同步。10、final、finally、finalize的区别? 答:final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承; :finally是异常处理语句的一部分,表示总是执行; :finalize是object类的一个方法。11、sleep()和wait()区别? 答:sleep() 不释放对象锁,本线程睡眠; :wait() 释放对象锁,本线程挂起。12、Overload和Override的区别? 答:overload是编译时的多态,在同一类里面方法名相同、参数列表不同返回值可相同,可不同。 :override是运行时的多态,在两个类当中父类和子类,在子类写一个与父类相同的方法,访问权限不能比父类的访问权限小。13、error和exception区别? 答:error 表示恢复不是不可能但很困难的情况下的一种严重问题,比如:内存溢出。 exception 表示一种设计或实现问题,如果程序运行正常,就不会发生的情况。14、同步和异步有何异同,在什么情况下使用它们?举例说明。 答:如果数据将在线程间共享,例如:正在写的数据以后可能被另一个线程读到, 或者正在读的数据可能已经被另一个数据写过了,那么这些数据就是共享数据,必须进行同步; :当应用程序在对象上调用一个需要花费很长时间来执行的方法,并且不希望 让程序等待方法的返回时,就应该使用异步编程。15、heap和stack有什么区别? 答:堆是一种线性集合,其添加和删除元素的操作应在同一段完成。 栈是按照后进先出的方式进行处理,堆是值栈的一个组成元素。16、forward和redirect区别? 答:forward 是请求转发,它是在同一个请求的情况下跳转,request内容还保存; redirect 是重定向,URL发生改变,属于不同的请求。17、Static Nested Class 和Inner Class的不同? 答:Static Nestted Class是被声明为静态的内部类,它可以不依赖于外部类实例化被实例化。 Inner Class 需要在外部实例化后才能实例化。18、JSP中动态INCLUDE和静态的INCLUDE区别? 答:动态include用jsp:include动作实现它总是检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 :静态INCLUDE用include伪码实现,一定不会检查所含文件的变化,适合包含静态页面 19、应用服务器有哪些? 答:Tomcat、WebLogic、jBoss、WebSphere20、接口是否可以继承接口?抽象类是否可实现接口?抽象类是否可继承实体类? 答:接口可以继承接口、抽象类可以实现接口、前提是实体类必须有明确的构造函数。21、数组有没有length()这个方法?String有没有length()这个方法? 答:数组没有length()这个方法,但有length属性; String有length()这个方法。22、编程题: 写一个Singleton出来。 public class Singleton private Singleton() /在自己内部定义自己一个实例 /注意这是private 只供内部调用 private static Singleton instance = new Singleton(); /这里提供了一个供外部访问本class的静态方法,可以直接访问 public static Singleton getInstance() return instance; 23、描述一下JVM加载class文件的原理机制? 答:JVM中类的装载是由ClassLoader和他子类来实现的,Java ClassLoader 是一个 重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。24、多线程有几种实现方法?同步有几种实现方法? 答:线程:Thread;Runnable接口。 同步:synchronized;wait与notity。25、Java中的线程有四个状态:运行、就绪、挂起、结束。26、什么情况下调用doGet()和doPost()? 答:jsp页面中的form标签里面的method属性为get时调用doGet(),为post时调用doPost()。27、JSP和Servlet的区别? 答:jsp是servlet的扩展,本质上是servlet的简易方式; :jsp侧重于视图,servlet主要控制逻辑。28、四种会话跟踪技术? 答:page、request、session、application。29、J2EE是技术还是平台还是框架? 答:J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台; J2EE是一个框架,包括:JDBC、JNDI、RMI、JMS、EJB、JTA等技术。30、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 答:public String translate(String str) String tempStr = ; try tempStr = new String (str.getBytes(ISO-8895-1),GBK); tempStr = tempStr.trim(); catch(Exception e) System.out.println(e.getMessage(); return tempStr; 31、简述逻辑操作(&,|,)与条件操作(&,|)的区别。 答:条件操作符:只操作布尔型的,而逻辑运算符不仅可以操作布尔型而且可以操作数值型; :逻辑操作不会产生短路。32、java中实现多态的机制是什么? 答:方法的重写Overriding和重载Overloading是java多态性的不同表现; :重写Overriding是父类与子类之间多态性的一种表现,重载Overloadin,是一个类中多态性的一种表现。33、是否可以从一个static方法内部发出对非static方法的调用? 答:不可以,如果其中包含对象method()方法,不能保证对象被初始化。34、写clone方法时,通常有一行代码,是什么? 答:clone有缺省行为,super.clone(); 他负责产生正确大小的空间,并逐步复制。35、List、Map、Set区别? 答:List:以特定次序来持有元素,可以重复元素; Set:无法拥有重复元素,内部排序; Map:保存Key-value值,value可以多个值。36、说出一些常用的类,包,接口各举五个例子? 答:类 BufferedReader、BufferedWrite、FileReader、FileWrite、String、Integer包 java.lang、java.awt、java.io、java.sql、java.util接口 Remote、List、Map、Document、Nodelist37、jsp有哪些动作?作用分别是什么? 答:jsp:include:在页面被请求的时候引入一个文件。 jsp:useBean:寻找或者实例化一个JavaBean。 jsp:setProperty:设置JavaBean的属性。 jsp:getProperty:输出某个JavaBean的属性。 jsp:forward:把请求转到一个新的页面。 jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。 38、Jdo是什么? 答:JDO是Java对象持久化的新的规范,是java date object的简称。39、Hibernate的工作原理? 答:1.配置好hibernate的配置文件和与类对应的配置文件后,启动服务器; 2.服务器通过实例化Configeration对象,读取hibernate.cfg.xml文件的配置内容,并根据相关的需求建好表或者和表建立好映射关系; 3.通过实例化的Configeration对象就可以建立sessionFactory实例,进一步,通过sessionFactory实例可以创建session对象; 4.得到session之后,便可以对数据库进行增删改查操作了,除了比较复杂的全文搜索外,简单的操作都可以通过hibernate封装好的session内置方法来实现.40、java中的序列化操作要实现什么接口?实现什么方法? 答:Serializable接口; writeObject方法。 41、remote接口和home接口主要作用? 答:remote接口定义了业务方法,用于EJB客户端调用业务方法。 home接口是EJB工厂用于创建和移除查找EJB实例。42、写一段实现杨辉三角的代码? 答:43、一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制? 答:可以。必须只有一个类名与文件名相同。 44、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 答:两种:字节流、字符流。 字节流继承于InputStream、OutputStream,字符流继承于InputStreamReader、OutputStreamWriter。 在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。45、请说出线程与进程的关系? 答:进程包含线程,一个进程至少有一个线程; :区别:进程是操作系统控制,线程由进程控制。46、什么是Web Service? 答:它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行; 它是一种新的web webservice应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。47、JAVA中创建一个对象有哪几种方法,有什么区别? 答:以String类为例 第一种:String str = new String(); 第二种:String str = Class.forName(String).newInstance(); 第一种方法是最常用,最普遍的用法。 第二种方法叫做工厂模式,是一种较安全的方法。48、java中会存在内存泄漏吗,请简单描述。 答:会。如:int i,i2; return (i-i2); /when i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。49、是否可以继承String类? 答:String类是final类故不可以继承。 50、Jsp中有哪两种跳转方法? 答:request和response51、Vector 和ArrayList有什么区别? 答:Vector类和ArrayList类的主要不同之处在于同步。 :Vector的大多数方法具有同步能力,或直接或间接。 :Vector是线程安全的,但ArrayList不是,这使得ArrayList要比Vector快速。52、request和session的区别?什么时候用? 答:request 占用资源比较少,安全性也比较高,缺乏持续性,request是某一次访问的局域变量,生命周期只是一次请求。 session 对资源的消耗会大点,安全性相对来说也会稍微低点,session相当于是一个客户端的全局变量。 53、排序都有哪几种方法? 答:插入排序、交换排序、归并排序、选择排序54、super()和this()区别: 答:super()调用父类的无参构造方法; this() 调用本身类的无参构造方法。55、作用域:public、private、protected区别? 答:public 在其他类都可以访问到; private 私有类型,只有在这一个类访问; protected 它是保护类型,只有是同一包或子类可以访问。56、什么是类的反射机制? 答:类的反射机制通过类的类名,可以来获得类字段、方法、接口、构造函数等; :在Hibernate、spring经常用到这个类的反射机制; :在设计模式、代理模式经常用到。57、集合的作用? 答:集合用来存储对象,对象可以是一个类型,也可不是一个对象; :保存后还提供了增、删、改、查的一些方法。58、JDBC如何做事务处理? 答:设置JDBC的自动提交为false; :首先开启一个事物transation; :在事务里面插入语句或多条插入语句后面执行事务的commit; :在catch异常里面回滚,rallback。59、jsp的9个内置对象?作用? 答: request:获取用户提交的信息; response:网页传回用户端的回应; pageContext:网页的属性是在这里管理; session:与请求有关的会话期; application:正在执行的内容; out:向客户端输出内容; config:该对象用于存取servlet实例的初始化参数; page:该页面产生的一个servlet实例; exception:当一个页面在运行过程中发生了例外,就产生这个对象。 60、Hibernate的对象的三个状态? 答:瞬时态、持久太、脱管态61、什么是AOP和IOC

温馨提示

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

评论

0/150

提交评论