还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
本人最近参加了大大小小许多公司的面试,在这里我把自己面试遇到的问题给大家说一下基础篇
1、在类加载器中,系统类加载器和用户自定义加载器那个先加载?遇到这个问题时感觉很意外,没有想到会问这样的问题先加载系统类加载器类加载器加载类依次依次为类加载器这个模式会加载下的包扩展类加载器会加载下的包系统类加载器这个会去加载指定了参数指定的文件用户自定义类加载器供应的是可以被继承的,允许用户自己实现类加载器
2、堆和栈分别存放什么?栈基本数据类型和对象的引用堆对象和数组
3、、、的区分1是不行变对象,也就是说每次修改都是新建了一个对象并赋值2是字符缓冲区,修改它不会新建对象,可以运用方法和方法修改的值3可以替代,它是一个单线程运用的类,和比速度快、效率高,但
2、给添加一个来自的外键(这个很简洁被我们自己忽视)00;
3、数据库三范式属性唯
一、记录唯
一、表唯一
4、查询结果按排序(降序)*;(默认是按升序的)
5、的左外连接*d e=框架
1、和相比有什么优势?
1.对访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码
2.是一个基于的主流许久化框架,是一个优秀的实现他很大程度的简化层的编码工作
3.运用反射机制,而不是字节码增加程序来实现透亮性
4.的性能特殊好,因为它是个轻量级框架映射的灵敏性很精彩它支持各种关系数据库,从一对一到多对多的各种困难关系、、技术的出现给我们构建强大的企业应用系统供应了可能但用这些技术构建的系统特殊的繁乱,所以在此之上,我们须要一个规则、一个把这些技术组织起来的规则,这就是框架,便应运而生
3、为什么要用?让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中运用后,公共服务(比如日志、许久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的困难性允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象正如单词倒置所表明的,就像反过来的没有运用一堆抽象工厂、服务定位器、单元素O和干脆构造(),每一个对象都是用其协作对象构造的因此是由容器管理协作对象O 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)与的区分是非线程平安的,效率高是基于线程平安的,效率低
③也是的扩展,在中的元素对象要求不能重复留意元素虽然无放入依次,但是元素在中的位置是有该元素的确定的,其位置其实是固定的常用实现类有和1:其核心是,中存放的值为中的,这也就是不允许重复的缘由2底层由平衡二叉树实现,它会将投入其中的元素自动排序,这就要求投入其中的元素是可排序的,也就是说,存放的必需是同一种数据类型其实现自动排序的实质是T,即0;{1;}}这个方法称为比较器,可以比较两个对象,假如对象都一样相等,则返回0
④没有继承接口,供应到的映射,也就是说,它是一种把键对象和值对象进行关联的容器1:不允许重复,假如后面的重复,则会覆盖前面的值,允许为,但是只能有一个2假如是一个对象的话,这个对象所在的类确定要实现接口,并且重写方法3与比较非线程平安,高效率,支持线程平安,低效率,不支持
12、、和的遍历方法比较可以用循环、循环和迭代可以用循环和迭代只能用迭代
13、写一个单例设计模式{}
14、说说关键字:表示“全局”或“静态”的意思,可以用来修饰成员变量和成员方法,也可以形成静态代码块,还可以用来修饰类,但只能修饰内部类
①变量被修饰的变量叫静态变量或者类变量;没有被修饰的变量叫实例变量二者的区分是静态变量在内存中只有一个拷贝(节约内存),只会为静态支配一次内存,而且在加载类的过程中就完成静态变量的内存支配可用类名干脆访问(便利),也可以用对象来访问(不举荐)静态变量一般用于对象之间须要共享值时实例变量每创建一个实例,就会为实例支配一次内存,实例变量在内存中可以有多个拷贝,互不影响(灵敏)
②静态方法它可以干脆通过“类名.静态方法”来访问,任何的实例亦可以调用静态方法中不能用和关键字不能干脆访问所属类的实例变量和实例方法,只能访问所属类的静态变量和成员方法
③代码块代码块也叫静态代码块,是在类中独立于类成员的语句块,可以有多个,位置也可以随意放,它不在任何的方法体内,在加载类时会执行这些静态代码块,假如有多个,则会依据他们在类中出现的先后依次一次执行它们,而且每个代码块只会执行一次
15、的生命周期
①加载和实例化在容器检测到须要这个来响应第一个请求时,创建实例
②初始化在实例化后,容器将调用的()方法初始化这个对象
③请求处理容器将调用的()方法对请求进行处理
④服务终止当容器检测到一个的实例应当从服务中被移除的时候,容器就会调用实例的O方法
16、九大内置对象范围比较排序为=====:服务器启动到停止这段时间:会话起先到结束这段时间(阅读器打开到关闭):请求起先到结束这段时间,即一个页面发出请求到另一个页面之间页面执行,当前页面从打开到关闭这段时间,它只能在同一个页面中有效页面执行,包含了客户请求的有关信息,但中很少用到它页面执行,向客户端输入内容时常用的对象页面执行,取得任何范围的参数,通过它可以获得、、、、等对象页面执行,取得服务器的配置信息仅在错误处理页面
①第一次运行的时候会编译成,驻留在内存中以供调用
②是开发技术,是服务器端运用的小程序
③更多的是进行页面显示,更多的是处理业务,即是页面,是实现方法
④开发界面是时,可以干脆编写[数据]<>;◊而中则须要这样写〃[数据]<>〃;◊
18、关键字的作用1修饰的基本数据类型的值不行被变更,修饰的引用类型的引用不行变而引用的值还是可以变的2修饰的方法不行被重写3修饰的类不行被继承4修饰的基本数据类型的形参在方法体内不行以被重新赋值,修饰的引用类型的形参不行以被赐予一个新的引用数据库方面
1、问你怎么同时更新一个表中的两个字段?假设表名为A,要更新的字段分别为、A=姚明,=35=10;。