Java面试题个人总结- -复习资料_第1页
Java面试题个人总结- -复习资料_第2页
Java面试题个人总结- -复习资料_第3页
Java面试题个人总结- -复习资料_第4页
Java面试题个人总结- -复习资料_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

本人最近参与了大大小小很多公司的面试,在这里我把自己面试遇到的问题给大家说一下基础篇1、在类加载器中,系统类加载器和用户自定义加载器那个先加载?(遇到这个问题时感觉很意外,没有想到会问这样的问题)先加载系统类加载器类加载器加载类依次依次为:类加载器:这个模式会加载下的包扩展类加载器:会加载下的包系统类加载器:这个会去加载指定了参数指定的文件用户自定义类加载器:供应的是可以被继承的,允许用户自己实现类加载器2、堆和栈分别存放什么?栈:基本数据类型和对象的引用堆:对象和数组3、、、的区分(1)是不行变对象,也就是说每次修改都是新建了一个对象并赋值(2)是字符缓冲区,修改它不会新建对象,可以运用()方法和()方法修改的值(3)可以替代,它是一个单线程运用的类,和比速度快、效率高,但2、给添加一个来自的外键:(这个很简单被我们自己忽视)0 0;3、数据库三范式:属性唯一、记录唯一、表唯一4、查询结果按排序(降序):* ;(默认是按升序的)5、的左外连接*de框架1、和相比有什么优势?.对访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。.是一个基于的主流长久化框架,是一个优秀的实现。他很大程度的简化层的编码工作.运用反射机制,而不是字节码增加程序来实现透亮性。.的性能特别好,因为它是个轻量级框架。映射的敏捷性很精彩。它支持各种关系数据库,从一对一到多对多的各种困难关系。、、技术的出现给我们构建强大的企业应用系统供应了可能。但用这些技术构建的系统特别的繁乱,所以在此之上,我们须要一个规则、一个把这些技术组织起来的规则,这就是框架,便应运而生。3、为什么要用?让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。运用后,公共服务(比如日志、长久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的困难性。允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词倒置所表明的,就像反过来的。没有运用一堆抽象工厂、服务定位器、单元素()和干脆构造(),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象()o即使一个框架,也是一容器。最好的地方是它有助于您替换对象。有了,只要用属性和配置文件加入依靠性(协作对象)。然后可以很简单地在须要时替换具有类似接口的协作对象。4、什么是模式?有什么作用?全名,即模型-视图-限制器,是一种特别经典的软件架构模式。从设计角度看,它将多个设计模式在一种解决方案中结合起来,用来解决很多设计问题。模式把用户界面交互分拆到不同的三个角色中,即:(1)模型:持有全部的数据、状态和程序逻辑,独立于视图和限制器。(2)视图:用来呈现模型。视图通常干脆从模型中取得它要显示的状态和数据。对于相同的信息可以有多个不同的显示形式或视图。(3)限制器:位于视图和模型中间,负责接收用户的输入,将输入进行解析并反馈给模型,通常有一个模型具有一个限制器。5、的三种状态:瞬时状态长久状态游离状态6、和的区分:优点::占用网速小,对于一些网速比较慢的电脑有明显的优势。:不须要安装客户端,只须要阅读器就能打开。缺点::须要安装客户端,有时候须要更新。:对网速的需求大,对于一些网速慢的电脑不适合。7、2的核心是什么?它与1有什么关系?2的核心是,与1没关系8、列举五个2中的拦截器:①:实现在不同恳求中相像参数别名的转换。②:自动装配的拦截器,主要用于当2和整合时,2可以运用自动装配的方式来访问容器中的。③:该拦截器负责创建一个对象,主要用于那些须要有对象才能正常工作的拦截器。④:当运用2的开发模式时,这个拦截器会供应更多的调试信息。⑤:这个拦截器负责处理异样,它将异样映射为结果。@:这个拦截器主要用于文件上传,它负责解析表单文件域中的内容。⑦il8n:支持国际化的拦截器,它负责把所选的语言、区域放入用户中。⑧:这是一个最基本的拦截器,它负责解析恳求中的参数,并将参数值设置成对应的属性值。⑨:防止重复提交,它检查传到中的,从而防止多次提交。⑩:通过执行中定义的校验器,从而完成数据校验。9、注入方法:①设值注入:通过访问容器实现②构造注入:通过构造函数实现③P命名空间注入10、实现注解的配置:<〃〃)路径是是非平安的(4)三者都是被修饰的(这一点面试官的问我的时候始终在说,你确定吗?搞得我有点虚)4、的异样和错误有什么区分?是的错误,这种错误会严峻影响程序的运行,设计者不会设计程序代码去捕获这种错误,因为即使捕获到也无法赐予适当的处理,比如内存溢出。包含了一般性的异样,这些异样同在在捕获到之后便可做妥当的处理,以确保程序接着运行。有很多种分类,从产生的时机上我们可以把分为①运行时异样运行时异样是指程序运行过程中可能出现的非正常状态②非运行时异样非运行时异样是指方法声明时的异样5、&和的区分&是位运算符,表示按位与运算。是逻辑运算符,表示逻辑与。在条件推断的时候&必需逐一检查各个条件,具有短路功能,只要一个条件为则不会进行后续的推断。(1)是抽象类,声明方法的存在而不去实现它的类叫做抽象类,它用于创建一个体现某些基本行为的类。抽象类中不能有构造方法、不能有静态方法,抽象类不能被实例化。抽象类中可以有变量、可以有一般方法、可以有抽象方法,在继承抽象方法后,必需实现它的全部抽象方法。(2)是接口,接口中的变量必需是静态常量(),接口中的方法必需都是抽象方法(),不过由于接口中全部变量、方法修饰符都一样,因可以不写。接口的实现必需实现接口中全部的方法。7、、、的区分(1)是用来描述变量、方法、类的关键字,表示变量值不行变、方法不行被重写、类不行被继承(2)是异样处理的关键字,表示块里面的代码肯定会被运行到(3)是类中的方法,垃圾回收器执行的时候会调用被回收的类的此方法。8、接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以实现实体类?(1)接口可以继承接口(2)抽象类里可以有一般方法,因此抽象类可以实现接口,只须要实现接口内全部方法就可以了(3)抽象类里可以有一般方法,变量也不须要是常量,因此抽象类可以实现实体类9、一个””源文件中是否可以包含多个类(非内部类)?有什么限制?可以。必需只有一个类名与文件名相同且该类以修饰10、是怎么通过包名.类名来获得该类的实例的?通过()方法11、介绍一下集合?①:是最基本的集合接口,一个代表一组,即的元素。②:是的扩展,作用是收集对象,并以索引方式保留收集对象的依次。其元素有放入依次,元素可重复。1):利用类似于数组的形式来存储数据,它的随机访问速度极快。2):内部实现是链表,它适合于在链表中间须要常见的插入和删除操作。3):与相像,但是两者不同,主要用在事先不知道数组的大小,或者只是须要一个可以变更大小的数组的状况。4)与的区分:是非线程平安的,效率高是基于线程平安的,效率低。③:也是的扩展,在中的元素对象要求不能重复(留意:元素虽然无放入依次,但是元素在中的位置是有该元素的确定的,其位置其实是固定的)。常用实现类有和。:其核心是,中存放的值为中的,这也就是不允许重复的缘由。:底层由平衡二叉树实现,它会将投入其中的元素自动排序,这就要求投入其中的元素是可排序的,也就是说,存放的必需是同一种数据类型。其实现自动排序的实质是<T>,即(){(())(0;}{1;))这个方法称为比较器,可以比较两个对象,假如对象都一样相等,则返回0④:没有继承接口,供应到的映射,也就是说,它是一种把键对象和值对象进行关联的容器。:不允许重复,假如后面的重复,则会覆盖前面的值,允许为,但是只能有一个。:假如是一个对象的话,这个对象所在的类肯定要实现接口,并且重写方法。与比较::非线程平安,高效率,支持:线程平安,低效率,不支持12、、和的遍历方法比较::可以用循环、循环和迭代。:可以用循环和迭代。:只能用迭代。13、写一个单例设计模式:{*(){)()((){){14、说说关键字:表示“全局”或“静态”的意思,可以用来修饰成员变量和成员方法,也可以形成静态代码块,还可以用来修饰类,但只能修饰内部类。①变量:被修饰的变量叫静态变量或者类变量;没有被修饰的变量叫实例变量。二者的区分是:静态变量:在内存中只有一个拷贝(节约内存),只会为静态安排一次内存,而且在加载类的过程中就完成静态变量的内存安排。可用类名干脆访问(便利),也可以用对象来访问(不举荐)。静态变量一般用于对象之间须要共享值时。实例变量:每创建一个实例,就会为实例安排一次内存,实例变量在内存中可以有多个拷贝,互不影响(敏捷)。②静态方法:它可以干脆通过“类名•静态方法”来访问,任何的实例亦可以调用。静态方法中不能用和关键字。不能干脆访问所属类的实例变量和实例方法,只能访问所属类的静态变量和成员方法。③代码块:代码块也叫静态代码块,是在类中独立于类成员的语句块,可以有多个,位置也可以随意放,它不在任何的方法体内,在加载类时会执行这些静态代码块,假如有多个,则会根据他们在类中出现的先后依次一次执行它们,而且每个代码块只会执行一次。15、的生命周期:①加载和实例化:在容器检测到须要这个来响应第一个恳求时,创建实例。②初始化:在实例化后,容器将调用的()方法初始化这个对象。③恳求处理:容器将调用的()方法对恳求进行处理。④服务终止:当容器检测到一个的实例应当从服务中被移除的时候,容器就会调用实例的()方法16、九大内置对象范围比较:排序为:>>>=====。:服务器启动到停止这段时间。:会话起先到结束这段时间(阅读器打开到关闭):恳求起先到结束这段时间,即一个页面发出恳求到另一个页面之间。:页面执行,当前页面从打开到关闭这段时间,它只能在同一个页面中有效:页面执行,包含了客户恳求的有关信息,但中很少用到它。:页面执行,向客户端输入内容时常用的对象:页面执行,取得任何范围的参数,通过它可以获得、、、、等对象。:页面执行,取得服务器的配置信息。:仅在错误处理页面①第一次运行的时候会编译成,驻留在内存中以供调用②是开发技术,是服务器端运用的小程序③更多的是进行页面显示,更多的是处理业务,即是页面,是实现方法④开发界

温馨提示

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

评论

0/150

提交评论