部分java面试常问问题及答案.docx_第1页
部分java面试常问问题及答案.docx_第2页
部分java面试常问问题及答案.docx_第3页
部分java面试常问问题及答案.docx_第4页
全文预览已结束

下载本文档

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

文档简介

java面试题java面向对象的特点: 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。 2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。 3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。 4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。说出Servlet的生命周期: web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do*()方法。结束服务,web容器调用servlet的destroy()方法。final, finally的区别: final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。String 和StringBuffer、StringBuilder的区别: String是长度不可变的字符串。 StringBuffer是长度可变的字符串,如果对字符串中的内容经常进行操作,特别是内容需要修改时,使用StringBuffer,最后使用toString()方法,StringBuffer是线程安全的。 StringBuilder是JDK5以后补充的一个StringBuffer的等价类,StringBuilder不是线程安全的。运行时异常与一般异常有何异同: 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。Collection 和 Collections的区别:Collection是集合类的上级接口,继承于他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。sleep() 和 wait() 有什么区别: sleep是线程类(Thread)的方法,导致此线程暂停执行,指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。 wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。error和exception有什么区别: Error:错误,通常都是虚拟机级别的异常。程序(通过我们的代码)无法解决。 Exception:异常,程序级别的异常。 我们可以通过代码的形式捕获异常,并进行相应的处理。什么是MVC: MVC是模型(model)视图(view)控制器(controller)的缩写, 模型(model)的职责是负责业务逻辑的。包含业务数据和业务处理逻辑两部分。 视图(view)的职责是负责显示界面和用户交互。 控制器(controller)是模型层M和视图层V之间的桥梁,用于控制流程。JSP有几个隐含对象,都是什么隐含对象: 1、out 它用于发送输出流到客户端。 2、request 它被关联到每一个HTTP请求。 3、response 用于把取得的数据返回到客户端。 4、pageContext 提供访问JSP页面的命名空间。 5、session 用于存储客户端请求的信息,因此它是有状态交互式的。 6、application 来源于javax.servlet.ServletContext。 7、config 包含了当前JSP/Servlet所在的WEB应用的配置信息。 8、page 实际使用的是JSP转换成的Servlet。 9、exception 用于捕获JSP抛出的异常。抽象类是否可以实现接口,是否可以继承实体类: 抽象类可以实现接口中的方法,也可以继承实体类。String是最基本的数据类型吗: 基本数据类型包括byte、int、char、long、float、double、boolean和short。 String类是final类型的,因此不可以继承这个类、不能修改这个类。struts2的工作原理: 1.客户发送一个Action请求,请求交给控制器 2.控制器创建一个ValueStack,将Action压入栈顶 3.控制器调用ActionInvoaction组件执行请求处理 4. ActionInvoaction组件调用请求相关的拦截器组件-前部分处理 5.然后再调用Action组件业务方法 6.然后再调用Result组件处理方法。 7.最后执行拦截器组件-后部分处理 8.将响应信息输出,为客户端响应重载和重写的差别: 重载:方法明相同,参数不同的方法,根据参数的类型调用相应的方法 重写:一定发生在子类型中!是子类型对父类型的功能(方法)修改子类型定义与父类型方法名称一样,参数一样.子类重写方法的时候,修饰词只能放大范围,不能缩小。调用规则:在运行期间,动态绑定对象的类型的方法。三种程序结构分别是什么: 顺序、分支、循环break和continue的作用分别是什么: break用在循环体中,用于退出循环体。 continue用在循环体中,用于结束本次循环,开始下一个循环。do-while与while结构的区别: 如果循环条件一开始就不满足时,while结构将不会执行循环体,do-while结构执行一次循环体。JVM内存结构中,堆、栈、方法区分别存储什么: 堆中存储的是对象,栈中存储局部变量,方法区存储的是字节码。equals和 = 区别: equals比较的是字符串是否相同。=不仅比较的字符串是否相同,还比较数据类型是否相同请说出ArrayList,Vector, LinkedList的存储性能和特性。 ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操

温馨提示

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

评论

0/150

提交评论