《java面试题目大全.docx》由会员分享,可在线阅读,更多相关《java面试题目大全.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 java面试题目大全 1.谈谈对XML的理解?说明Web应用中Web.xml文件的作用? 解答:XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依靠于内容的技术,是当前处理构造化文档信息的有力工具。扩展标记语言XML是一种简洁的数据存储语言,使用一系列简洁的标记描述数据,而这些标记可以用便利的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简洁易于把握和使用。 web.xm
2、l的作用是配置欢送页,servlet,filter,listener等的。 2.jsp有哪些内置对象?作用分别是什么?(至少三个) 解答: 1)request表示HttpServletRequest对象。它包含了有关扫瞄器恳求的信息,并且供应了几个用于猎取cookie, header和session数据的有用的方法。 2)response表示HttpServletResponse对象,并供应了几个用于设置送回 扫瞄器的响应的方法(如cookies,头信息等)。 3)out对象是javax.jsp.JspWriter的一个实例,并供应了几个方法使你能用于向扫瞄器回送输出结果。 4)pageCon
3、text表示一个javax.servlet.jsp.PageContext对象。它是用于便利存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 5)session表示一个恳求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息。 6)application 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息。 7)config表示一个javax.servlet.ServletConfig对象。该对象用于存取ser
4、vlet实例的初始化参数。 8)page表示从该页面产生的一个servlet实例。 9)exception 针对错误网页,未捕获的例外 3.事务是什么?有哪些属性,并简要说明这些属性的含义。 解答:事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。 事务通常由高级数据库操纵语言或编程语言(如SQL,C+或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开头(begin transaction)和事务完毕(end transaction)之间执行的全体
5、操作组成。 事务应当具有4个属性:原子性、全都性、隔离性、持续性。这四个属性通常称为ACID特性。 原子性(atomicity)。一个事务是一个不行分割的工作单位,事务中包括的诸操作要么都做,要么都不做。 全都性(consistency)。事务必需是使数据库从一个全都性状态变到另一个全都性状态。全都性与原子性是亲密相关的。 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能相互干扰。 长久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的转
6、变就应当是永久性的。接下来的其他操作或故障不应当对其有任何影响。 4、Collection 和 Collections的区分? 解答:Collection是java.util下的接口,它是各种集合的父接口,继承于它的接口主要有Set 和List;Collections是个java.util下的类,是针对集合的帮忙类,供应一系列静态方法实现对各种集合的搜寻、排序、线程安全化等操作。 5、HashMap与TreeMap的区分? 解答:HashMap通过hashcode对其内容进展快速查找,而TreeMap中全部的元素都保持着某种固定的挨次,假如你需要得到一个有序的结果你就应当使用TreeMap(H
7、ashMap中元素的排列挨次是不固定的)。 6、ArrayList和Vector的区分? 解答:同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程担心全的,不是同步的;数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半。 java面试题目4java面试题目5 1、 说说servlet的生命周期。 效劳器启动接收客户端恳求,第一次恳求Servlet时会初始化该Servlet,并调用init方法,以后的恳求直接调用service方法,效劳器关闭时调用destory方法,释放Servlet资源。 2、 进程和线程的区分是什么? 什么
8、是进程(Process):一般的解释就是,进程是程序的一次执行,而什么是线程(Thread),线程可以理解为进程中的执行的一段程序片段。在一个多任务环境中下面的概念可以帮忙我们理解两者间的差异: 进程间是独立的,这表现在内存空间,上下文环境;线程运行在进程空间内。 一般来讲(不使用特别技术)进程是无法突破进程边界存取其他进程内的存储空间;而线程由于处于进程空间内,所以同一进程所产生的线程共享同一内存空间。 同一进程中的两段代码不能够同时执行,除非引入线程。 线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并去除。 线程占用的资源要少于进程所占用的资源。 进程和线程都可以有优先级。
9、 在线程系统中进程也是一个线程。可以将进程理解为一个程序的第一个线程。 3、 说出J2EE常用的几种设计模式。 Java中的23种设计模式:Factory(工厂模式), Builder(建筑模式), Factory Method(工厂方法模式), Prototype(原始模型模式),Singleton(单例模式), Facade(门面模式), Adapter(适配器模式), Bridge(桥梁模式), Composite(合成模式), Decorator(装饰模式), Flyweight(享元模式), Proxy(代理模式), Command(命令模式), Interpreter(解释器模式)
10、, Visitor(访问者模式), Iterator(迭代子模式), Mediator(调停者模式), Memento(备忘录模式), Observer(观看者模式), State(状态模式), Strategy(策略模式), Template Method(模板方法模式), Chain Of Responsibleity(责任链模式) 常见的Java面试问题 1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可以运行在任意的平
11、台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,由于它知道底层硬件平台的指令长度和其他特性。 2.JDK和JRE的区分是什么? Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要的扫瞄器插件。Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比方:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。 3.”static”关键字是什么意思?Java中是否可以掩盖(override)一个private或者是static的方法? “static”
12、关键字说明一个成员变量或者是成员方法可以在没有所属的类的实例变量的状况下被访问。 Java中static方法不能被掩盖,由于方法掩盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。 4.是否可以在static环境中访问非static变量? static变量在Java中是属于类的,它在全部的实例中的值是一样的。当类被Java虚拟机载入的时候,会对static变量进展初始化。假如你的代码尝试不用实例来访问非static的变量,编译器会报错,由于这些变量还没有被创立出来,还没有跟任何实例关联上。 5.Java支持的数据类型有哪些
13、?什么是自动拆装箱? Java语言支持的8中根本数据类型是: byte short int long float double boolean char 自动装箱是Java编译器在根本数据类型和对应的对象包装类型之间做的一个转化。比方:把int转化成Integer,double转化成double,等等。反之就是自动拆箱。 6.Java中的方法掩盖(Overriding)和方法重载(Overloading)是什么意思? Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名一样但是参数不同的状况。与此相对,方法掩盖是说子类重新定义了父类的方法。方法掩盖必需有一样的方法名,参数列表和返回
14、类型。掩盖者可能不会限制它所掩盖的方法的访问。 7.Java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数? 当新对象被创立的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类供应构造函数的状况下,Java编译器会为这个类创立一个默认的构造函数。 Java中构造函数重载和方法重载很相像。可以为一个类创立多个构造函数。每一个构造函数必需有它自己唯一的参数列表。 Java不支持像C+中那样的复制构造函数,这个不同点是由于假如你不自己写构造函数的状况下,Java不会创立默认的复制构造函数。 java面试题目6 1.IP地址的编码分为哪俩局部? IP地址由两局部组成,网络号和主
15、机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。 2.用户输入M,N值,从1至N开头挨次循环数数,每数到M输出该数值,直至全部输出。写出C程序。 循环链表,用取余操作做 3.不能做switch()的参数类型是: switch的参数不能为实型。 4. static有什么用途?(请至少说明两种) a.限制变量的作用域 b.设置变量的存储域 7. 引用与指针有什么区分? a 引用必需被初始化,指针不必。 b 引用初始化以后不能被转变,指针可以转变所指的对象。 c 不存在指向空值的引用,但是存在指向空值的指针。 8. 描述实时系统的根本特性 在特定时间内完成特定的任务,实时性
16、与牢靠性 9. 全局变量和局部变量在内存中是否有区分?假如有,是什么区分? 全局变量储存在静态数据库,局部变量在堆栈 10. 什么是平衡二叉树? 左右子树都是平衡二叉树 且左右子树的深度差值的肯定值不大于1 11. 堆栈溢出一般是由什么缘由导致的? 没有回收垃圾资源 12. 什么函数不能声明为虚函数? constructor 13. 冒泡排序算法的时间简单度是什么? O(n2) 14. 写出float x 与“零值”比拟的if语句。 if(x0.000001x-0.000001) 16. Internet采纳哪种网络协议?该协议的主要层次构造? tcp/ip 应用层/传输层/网络层/数据链路层
17、/物理层 17. Internet物理地址和IP地址转换采纳什么协议? ARP (Address Resolution Protocol)(地址解析協議) java面试题目7 1、面对对象根本特征? 继承,封装,多态 2、Java中的特别处理机制的简洁和应用。 当Java程序违反了Java的语义规章时,Java虚拟机就会将发生的错误表示为一个特别。违反语义规章包括2种状况。一种是Java类库内置的语义。另一种状况就是Java允许程序员扩展这种语义检查,程序员可以创立自己的特别,并自由选择在何时用throw关键字引发特别。 3、abstractclass和integerface有什么区分? 前者
18、是抽象类,后者是接口。抽象类和接口都可以被继承,不同的是,接口内的方法不能实现,需要继承的类来详细实现其方法,而抽象类中的方法可以被详细实现,并且继承的类可以重写其方法。一个类可以继承一个抽象类,但是可以继承多个接口。通常,接口被运用于实现比拟常用的功能,便于日后维护或者添加删除方法,而抽象类更倾向于充当公共类的角色。不适于在日后重新对里面的代码进展修改。 4、Overload和Override的区分?(方法方法重写和方法重载的区分) Overloaded的方法是否可以转变返回值的类型:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写 Overridi
19、ng是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态 性的一种表现。假如在子类中定义某方法与其父类有一样的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对 它而言,父类中的定义犹如被“屏蔽”了。假如在一个类中定义了多个同名的方法 ,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading) 。Overloaded的方法是可以转变返回值的类型。 5、struts是什么? struts1是基于JSP和servlet的一个开源的Web应用框架,使用的是MVC的设计模式struts2是基于we
20、bwork技术的框架,是sun和webwork公司联手开发的一个功能特别齐全的框架,struts2和struts1没有任何关系,是一个全新的框架。 java面试题目8 1.数据构造。主要涉及java.util包中的一些集合类。 2.根据他的一段描述建模。主要是类的继承关系以及接口实现。还有构造函数和析构函数在继承体系中的作用等等。 3.Java和C+在内存治理的不同之处。 4.JAVA的多线程机制。 5.反射机制的作用,以及在哪些方面使用了反射机制。 6.网络:TCP/IP协议。HTTP访问机制。还问到了SSL之类。 7.DesignPatten:用过几种DesignPattern,J2EE中有哪些Pattern已经自动实现等等 8.数据库:比拟EJB中的QL语言和SQL。还写了一段QL查询语句。 9.CMP中Home接口,Remote接口是如何实现的。 10.软件工程:常见的开发模型。寻常工程治理中软件工程的运用。 技术面试也许从3:40开头,面完已经4:50了。最终面试官说看你的工程经受,再安排一个.Net技术面试。反正到此地 步,只能随便。不一会他回来说,有点晚了,Net面试就取消吧,不过还有一个英语面试。小吃了一惊,由于依据sirily的 面经,不应当有英语面试的。还好,问了一些很简洁的问题,马马虎虎混了过去。