Java面试笔试题汇总资料下载.pdf
《Java面试笔试题汇总资料下载.pdf》由会员分享,可在线阅读,更多相关《Java面试笔试题汇总资料下载.pdf(26页珍藏版)》请在冰点文库上搜索。
![Java面试笔试题汇总资料下载.pdf](https://file1.bingdoc.com/fileroot1/2023-4/30/d7ec87f9-ec2e-48d7-8937-49f4a09f0be4/d7ec87f9-ec2e-48d7-8937-49f4a09f0be41.gif)
它是在Object类中定义的,因此所有的类都继承了它。
子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。
finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。
6、AnonymousInnerClass(匿名内部类匿名内部类)是否可以是否可以extends(继承继承)其它类,是否可以其它类,是否可以implements(实现实现)interface(接口接口)?
匿名的内部类是没有名字的内部类。
不能extends(继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
7、HashMap和和Hashtable的区别。
都属于Map接口的类,实现了将惟一键映射到特定的值上。
HashMap类没有分类或者排序。
它允许一个null键和多个null值。
Hashtable类似于HashMap,但是不允许null键和null值。
它也比HashMap慢,因为它是同步的。
8、Collection和和Collections的区别的区别。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口。
9、sleep()和和wait()有什么区别有什么区别?
搞线程的最爱搞线程的最爱答案:
sleep()方法是使线程停止一段时间的方法。
在sleep时间间隔期满后,线程不一定立即恢复执行。
这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。
wait()是线程交互时,如果线程对一个同步对象x发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
-3-东软信息学院创业实训中心10、Java有没有有没有goto?
Goto?
java中的保留字,现在没有在java中使用。
11、数组有没有数组有没有length()这个方法这个方法?
String有没有有没有length()这个方法?
这个方法?
数组没有length()这个方法,有length的属性。
String有有length()这个方法12、构造器构造器Constructor是否可被是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。
13、try里有一个里有一个return语句,那么紧跟在这个语句,那么紧跟在这个try后的后的finally里的里的code会不会被执行,什么时候被执行,在会不会被执行,什么时候被执行,在return前还是后前还是后?
会执行,在return前执行。
14、面向对象的特征有哪些方面面向对象的特征有哪些方面答案:
(1).抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。
抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。
抽象包括两个方面,一是过程抽象,二是数据抽象。
(2).继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
对象的一个新类可以从现有的类中派生,这个过程称为类继承。
新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
(3).封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
(4).多态性:
多态性是指允许不同类的对象对同一消息作出响应。
多态性包括参数化多态性和-4-东软信息学院创业实训中心包含多态性。
多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
15、说出、说出ArrayList,Vector,LinkedList的存储性能和特性的存储性能和特性答案:
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
16、多线程有几种实现方法、多线程有几种实现方法,都是什么都是什么?
同步有几种实现方法同步有几种实现方法,都是什么都是什么?
答:
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口同步的实现方面有两种,分别是synchronized,wait与notify17、jsp有哪些内置对象有哪些内置对象?
作用分别是什么作用分别是什么?
答:
JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
request用户端请求,此请求会包含来自GET/POST请求的参数response网页传回用户端的回应pageContext网页的属性是在这里管理session与请求有关的会话期applicationservlet正在执行的内容out用来传送回应的输出configservlet的构架部件pageJSP网页本身exception针对错误网页,未捕捉的例外-5-东软信息学院创业实训中心18、jsp有哪些动作有哪些动作?
JSP共有以下6种基本动作jsp:
include:
在页面被请求的时候引入一个文件。
jsp:
useBean:
寻找或者实例化一个JavaBean。
setProperty:
设置JavaBean的属性。
getProperty:
输出某个JavaBean的属性。
forward:
把请求转到一个新的页面。
plugin:
根据浏览器类型为Java插件生成OBJECT或EMBED标记19、两种跳转方式分别是什么、两种跳转方式分别是什么?
有什么区别有什么区别?
有两种,分别为:
前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。
执行完后还会回来,相当于函数调用。
并且可以带参数.后者完全转向新页面,不会再回来。
相当于goto语句。
20、forward和和redirect的区别的区别答案:
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
21、说出、说出Servlet的生命周期,并说出的生命周期,并说出Servlet和和CGI的区别。
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行-6-东软信息学院创业实训中心其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
22、EJB是基于哪些技术实现的?
并说出是基于哪些技术实现的?
并说出SessionBean和和EntityBean的区别,的区别,StatefulBean和和StatelessBean的区别。
EJB包括SessionBean、EntityBean、MessageDrivenBean,基于JNDI、RMI、JAT等技术实现。
SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。
EntityBean被用来代表应用系统中用到的数据。
对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
SessionBean还可以再细分为StatefulSessionBean与StatelessSessionBean,这两种的SessionBean都可以将系统逻辑放在method之中执行,不同的是StatefulSessionBean可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的StatefulSessionBean的实体。
StatelessSessionBean虽然也是逻辑组件,但是他却不负责-7-东软信息学院创业实训中心记录使用者状态,也就是说当使用者呼叫StatelessSessionBean的时候,EJBContainer并不会找寻特定的StatelessSessionBean的实体来执行这个method。
换言之,很可能数个使用者在执行某个StatelessSessionBean的methods时,会是同一个Bean的Instance在执行。
从内存方面来看,StatefulSessionBean与StatelessSessionBean比较,StatefulSessionBean会消耗J2EEServer较多的内存,然而StatefulSessionBean的优势却在于他可以维持使用者的状态。
23、EJB与与JAVABEAN的区别?
的区别?
JavaBean是可复用的组件,对JavaBean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。
但通常情况下,由于JavaBean是被容器所创建(如Tomcat)的,所以JavaBean应具有一个无参的构造器,另外,通常JavaBean还要实现Serializable接口用于实现Bean的持久性。
JavaBean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。
EnterpriseJavaBean相当于DCOM,即分布式组件。
它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。
但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。
EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。
客户通过容器来访问真正的EJB组件。
-8-东软信息学院创业实训中心24、简单介绍您所了解的、简单介绍您所了解的MVC。
略二、软件工程方面二、软件工程方面1.软件开发生命周期有哪几个阶段软件开发生命周期有哪几个阶段?
1)、问题的定义及规划2)、需求分析3)、软件设计4)、程序编码5)、软件测试6)、运行维护2、什么是、什么是CMM?
划分为哪几级、分别是什么?
CMM是软件能力成熟度模型,是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。
CMM分为五个等级:
一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。
三、智力测试三、智力测试1、有两根不均匀分布的香,香烧完的时间是一个小时,你能用什么方法来确定一段、有两根不均匀分布的香,香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?
分钟的时间?
一只两头点燃,另一只一头点燃,当第一只烧完后,第二只丙再头点燃,就可以得到152、有三个人去住旅馆,住三间房,每一间房、有三个人去住旅馆,住三间房,每一间房$10元,于是他们一共付给老板元,于是他们一共付给老板$30,第二天,老板觉得三间房只需要第二天,老板觉得三间房只需要$25元就够了于是叫小弟退回元就够了于是叫小弟退回$5给三位客人,给三位客人,-9-东软信息学院创业实训中心谁知小弟贪心谁知小弟贪心,只退回每人只退回每人$1,自己偷偷拿了,自己偷偷拿了$2,这样一来便等于那三位客人每人各花了九元,这样一来便等于那三位客人每人各花了九元,于是三个人一共花了于是三个人一共花了$27,再加上小弟独吞了不,再加上小弟独吞了不$2,总共是,总共是$29。
可是当初他们三个人一共付出。
可是当初他们三个人一共付出$30那么还有那么还有$1呢?
呢?
怎么会是每人第天九元呢,每人每天(25/3)+1,那一元差在25-24=13、有两位盲人,他们都各自买了两对黑袜和两对白袜,八对袜了的布质、大小完全相同,、有两位盲人,他们都各自买了两对黑袜和两对白袜,八对袜了的布质、大小完全相同,而每对袜了都有一张商标纸连着。
两位盲人不小心将八对袜了混在一起。
他们每人怎样才能取回黑袜和白袜各两对呢?
而每对袜了都有一张商标纸连着。
每人取每双中的一只就可以了4、有一辆火车以每小时、有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约,另一辆火车以每小时公里的速度离开洛杉矶直奔纽约,另一辆火车以每小时20公里的速度从纽约开往洛杉矶。
如果有一只鸟,以公里的速度从纽约开往洛杉矶。
如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从洛杉矶出发,碰到另一辆车后返回,依次在两辆火车来回飞行,直到两辆火车相遇,请问,这只小鸟飞行了多长距离?
公里每小时的速度和两辆火车同时启动,从洛杉矶出发,碰到另一辆车后返回,依次在两辆火车来回飞行,直到两辆火车相遇,请问,这只小鸟飞行了多长距离?
(D/35)*30=D5、你有两个罐子,、你有两个罐子,50个红色弹球,个红色弹球,50个蓝色弹球,随机选出一个罐子,随机选取出一个弹球放入罐子,怎么给红色弹球最大的选中机会?
在你的计划中,得到红球的准确几率是多少?
个蓝色弹球,随机选出一个罐子,随机选取出一个弹球放入罐子,怎么给红色弹球最大的选中机会?
自己睁着眼睛挑一个红色的啊,这样是给红色最大的机会了,除了你是色盲,呵呵,当然他们的几率都是1/2。
6、你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量、你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量1.只称量一次,如何判断哪个罐子的药被污染了?
只称量一次,如何判断哪个罐子的药被污染了?
一个中取一个编号,然后称一下就知道7、你有一桶果冻,其中有,绿色,红色三种,闭上眼睛,抓取两个同种颜色的果冻。
抓取多少个就可以确定你肯定有两个同一颜色的果冻?
、你有一桶果冻,其中有,绿色,红色三种,闭上眼睛,抓取两个同种颜色的果冻。
4个-10-东软信息学院创业实训中心8、对一批编号为、对一批编号为1100,全部开关朝上,全部开关朝上(开开)的灯进行以下的灯进行以下*作:
凡是作:
凡是1的倍数反方向拨一次开关;
的倍数反方向拨一次开关;
2的倍数反方向又拨一次开关;
的倍数反方向又拨一次开关;
3的倍数反方向又拨一次开关的倍数反方向又拨一次开关问:
最后为关熄状态的灯的编号。
问:
9想象你在镜子前,请问,为什么镜子中的影像可以颠倒左右,却不能颠倒上下?
想象你在镜子前,请问,为什么镜子中的影像可以颠倒左右,却不能颠倒上下?
因为照镜子时,镜子是与你垂直平行的,但在水平方向刚好转了180度。
10一群人开舞会,每人头上都戴着一顶帽子。
帽子只有黑白两种,黑的至少有一顶。
每个人都能看到其它人帽子的颜色,却看不到自己的。
主持人先让大家看看别人头上戴的是什幺帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。
第一次关灯,没有声音。
于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。
一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。
问有多少人戴着黑帽子?
一群人开舞会,每人头上都戴着一顶帽子。
应该是三个人:
1,若是两个人,设A、B是黑帽子,第二次关灯就会有人打耳光。
原因是A看到B第一次没打耳光,就知道B也一定看到了有带黑帽子的人,可A除了知道B带黑帽子外,其他人都是白帽子,就可推出他自己是带黑帽子的人!
同理B也是这么想的,这样第二次熄灯会有两个耳光的声音。
2,如果是三个人,A,B,C.A第一次没打耳光,因为他看到B,C都是带黑帽子的;
而且假设自己带的是白帽子,这样只有BC戴的是黑帽子;
按照只有两个人带黑帽子的推论,第二次应该有人打耳光;
可第二次却没有。
于是他知道B和C一定看到了除BC之外的其他人带了黑帽子,于是他知道BC看到的那个人一定是他,所以第三次有三个人打了自己一个耳光!
3,若是第三次也没有人打耳光,而是第四次有人打了耳光,那么应该有几个人带了黑猫子呢?
大家给个结果看看_11两个圆环,半径分别是两个圆环,半径分别是1和和2,小圆在大圆内部绕大圆圆周一周,问小圆自身转了几周?
如果在大圆的外部,小圆自身转几周呢?
,小圆在大圆内部绕大圆圆周一周,问小圆自身转了几周?
可以把圆看成一根绳子,大绳是小绳的2倍长,所以应该是2圈吧-11-东软信息学院创业实训中心121元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:
你有元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:
你有20元钱,最多可以喝到几瓶汽水?
元钱,最多可以喝到几瓶汽水?
一开始20瓶没有问题,随后的10瓶和5瓶也都没有问题,接着把5瓶分成4瓶和1瓶,前4个空瓶再换2瓶,喝完后2瓶再换1瓶,此时喝完后手头上剩余的空瓶数为2个,把这2个瓶换1瓶继续喝,喝完后把这1个空瓶换1瓶汽水,喝完换来的那瓶再把瓶子还给人家即可,所以最多可以喝的汽水数为:
2010521140四、数据库四、数据库1、设有关系、设有关系R(S,D,M)其函数一览集其函数一览集F=S?
D,D?
M。
则关系。
则关系R至多满足至多满足_。
A.INFB.2NFC.3NFD.4NF答案:
B2、whichareDMLstatements(chooseallthatapply)(下面哪个是下面哪个是DML语句多选语句多选)A.commitB.mergeC.updateD.deleteE.creatF.drop答案:
C,D3、whiceselectstatementwilltheresultelloworldfromthestringHelloworld?
(如果要从字符串(如果要从字符串“Helloworld”中提取出中提取出“elloworld”这样的结果,下面的哪条这样的结果,下面的哪条SQL语句适合?
)语句适合?
)A.selectsubstr(HelloWorld,1)fromdual;
B.selectsubstr(HelloWorld,1,1)fromdual;
C.selectlower(substr(Helloworld,1)fromdual;
D.selectlower(trim(HfromHelloworld)fromdual;
D3、储存过程和函数的区别是什么、储存过程和函数的区别是什么-12-东软信息学院创业实训中心答案:
存储过程是用户定义的一系列SQL语句的集合,涉及特定表或其他对象的任务,用户可以调用存储过程。
而函数通常是数据库已经定义的方法,它接受参数并返回某种类型的值,并且不涉及特定用户表。
4、事务是什么?
、事务是什么?
1)原子性:
事务必须是原子工作单元。
对于其数据修改,要么全都执行,要么全都不执行。
2)一致性:
事务在完成时,必须使所有的数据都保持一致。
在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。
事务结束时,所有的内部数据结构都必须是正确的。
3)隔离性:
由并发事务所做的修改必须与任何其他并发事务作的修改隔离。
事务查看数据更新时数据所处的状态,要么是另一并发事务修改它之前的状态,要么