JAVA面试题汇总模拟面试参考这个.docx

上传人:b****8 文档编号:9956906 上传时间:2023-02-07 格式:DOCX 页数:89 大小:81.09KB
下载 相关 举报
JAVA面试题汇总模拟面试参考这个.docx_第1页
第1页 / 共89页
JAVA面试题汇总模拟面试参考这个.docx_第2页
第2页 / 共89页
JAVA面试题汇总模拟面试参考这个.docx_第3页
第3页 / 共89页
JAVA面试题汇总模拟面试参考这个.docx_第4页
第4页 / 共89页
JAVA面试题汇总模拟面试参考这个.docx_第5页
第5页 / 共89页
点击查看更多>>
下载资源
资源描述

JAVA面试题汇总模拟面试参考这个.docx

《JAVA面试题汇总模拟面试参考这个.docx》由会员分享,可在线阅读,更多相关《JAVA面试题汇总模拟面试参考这个.docx(89页珍藏版)》请在冰豆网上搜索。

JAVA面试题汇总模拟面试参考这个.docx

JAVA面试题汇总模拟面试参考这个

目录

概念题1

一、JAVA基础1

1)面向对象的特征1

2)什么是OOP?

什么是类?

请对比类和对象实例之间的关系。

1

3)简述类与对象的概念2

4)什么是属性与方法?

2

5)什么是封装?

2

6)描述一下JVM加载class文件的原理机制2

7)Java程序怎么优化?

2

8)一个".java"源文件中是否可以包括多个类(不是内部类)?

有什么限制?

2

9)char型变量中能不能存贮一个中文汉字3

10)逻辑操作符(&,|,^)与条件操作符(&&,||)的区别3

11)Math.round(11.5)等於多少?

Math.round(-11.5)等於多少?

3

12)Java有没有goto?

3

13)int和Integer的区别3

14)如何将数值型字符转换为数字?

如何去小数四舍五入保留小数点后两位。

3

15)shorts1=1;s1=s1+1;和shorts1=1;s1+=1;有什么错误3

16)floatf=3.4是否正确?

4

17)String和StringBuffer的区别4

18)String是否是最基本的数据类型,能否被继承4

19)Strings=newString("xyz");创建了几个StringObject?

4

20)数组有没有length()这个方法?

String有没有length()这个方法?

4

21)排序都有哪几种方法?

用JAVA实现一个快速排序4

22)swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上5

23)在JAVA中,如何跳出当前的多重嵌套循环?

5

24)关于日期和时间的几个问题5

25)一个对象被当作参数传递到一个方法,是值传递还是引用传递5

26)什么时候用assert?

5

27)GC是什么?

为什么要有GC?

5

28)垃圾回收的优点和原理5

29)垃圾回收器可以马上回收内存吗?

有什么办法主动通知虚拟机进行垃圾回收?

6

30)java中会存在内存泄漏吗,请简单描述6

31)java中有几种类型的流?

JDK为每种类型的流提供了一些抽象类以供继承,他们分别是哪些类?

6

32)文件和目录(I/O)操作6

33)什么是java序列化?

如何实现java序列化?

7

34)JAVA事件委托机制的概念7

35)谈谈你对Swing的MVC模式的理解?

7

36)MVC结构在JTable中怎样实现的,这种结构有什么好处?

8

二、类与继承9

37)说出一些常用的类,包,接口,请各举5个9

38)接口有什么优点?

9

39)静态变量和实例变量的区别9

40)是否可以从一个static方法内部发出对非static方法的调用?

9

41)java有几种修饰符?

分别用来修饰什么?

9

42)作用域public,private,protected,以及不写时的区别10

43)final,finally,finalize的区别10

44)内部类可以引用他包含类的成员吗?

有没有什么限制?

10

45)匿名内部类是否可以继承其它类?

是否可以实现接口?

10

46)java中实现多态的机制是什么?

11

47)Overload和Override的区别,Overloaded的方法能否改变返回值的类型?

11

48)abstractclass和interface的区别11

49)接口是否可继承接口?

抽象类是否可实现接口?

抽象类是否可继承实体类?

11

50)abstract的method是否可同时是static或native或synchronized?

11

51)构造器Constructor是否可被override11

52)写clone()方法时,通常都有一行代码,是什么?

12

53)Object类的概述12

三、异常13

54)Java中的异常处理机制的简单原理和应用。

13

55)JAVA语言如何进行异常处理,关键字:

throws,throw,try,catch,finally分别代表什么意义?

在try块中可以抛出异常吗?

13

56)error和exception的区别13

57)运行时异常与一般异常的区别14

58)给我一个你最常见到的runtimeexception(运行时异常)14

59)try里有一个return语句,那finally里的代码会不会被执行?

在return前还是后执行?

14

四、集合15

60)集合类都有哪些15

61)介绍JAVA中的CollectionFrameWork15

62)ArrayList和Vector的区别15

63)HashMap和Hashtable的区别15

64)Collection和Collections的区别16

65)说出ArrayList,Vector,LinkedList的存储性能和特性16

66)heap和stack的区别16

67)List,Set,Map是否继承自Collection接口?

16

68)List,Set,Map三个接口,存取元素时,各有什么特点?

16

69)Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?

是用==还是equals()?

它们有何区别?

17

70)两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对17

五、多线程18

71)启动一个线程是用run()还是start()?

18

72)sleep()和wait()的区别18

73)stop()和suspend()方法为何不推荐使用?

18

74)同步和异步有何异同,在什么情况下分别使用他们18

75)当一线程进入一对象的一个synchronized方法后,其它线程可否进入此对象的其它方法18

76)线程同步的方法19

77)多线程有几种实现方法19

78)线程的基本概念、线程的基本状态以及状态之间的关系19

79)简述synchronized和java.util.concurrent.locks.Lock的异同19

80)多线程的优点19

六、JDBC及数据库相关21

81)Class.forName的作用?

为什么要用?

21

82)JDBC调用数据库的基本步骤21

83)说出数据连接池的工作机制是什么?

21

84)JDO是什么?

21

85)动态查询如何实现?

表的结构变化后,如果不需要修改程序,如何设计和实现查询?

21

86)如何优化数据库,如何提高数据库的性能?

21

87)设计数据库应注意那些问题22

88)表与表之间的关联关系22

89)主键和外键的区别22

90)名词解释:

批、触发器、事务、锁、子查询、索引、视图、存储过程22

91)游标的作用?

如何知道游标已经到了最后?

23

92)事前触发和事后触发有何区别?

语句级触发和行级触发有何区别?

23

93)数据库设计的必要性及设计步骤24

94)什么是数据模型?

什么是规范化?

24

95)谈谈数据库设计的三范式24

七、JSP和Servlet25

96)forward和sendRedirect的区别25

97)JSP中动态INCLUDE与静态INCLUDE的区别25

98)JSP的内置对象及方法25

99)JSP的常用指令25

100)说出Servlet的生命周期,并说出Servlet和CGI的区别26

101)什么情况下调用doGet()和doPost()26

102)如何现实servlet的单线程模式26

103)描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理26

104)页面间对象传递的方法27

105)JSP和Servlet有哪些相同点和不同点,他们之间的联系27

106)四种会话跟踪技术27

107)Request对象的主要方法27

108)Servlet执行时一般实现哪几个方法28

109)说出在JSP页面里是怎么分页的?

28

八、J2EE基础29

110)J2EE是什么?

29

111)J2EE中常用的名词解释29

112)名词解释:

WEBSERVICE、JAXP、JAXM、SOAP、UDDI、WSDL30

113)J2EE是技术还是平台还是框架?

30

114)XML文档定义有几种形式?

它们之间有何本质区别?

解析XML文档有哪几种方式?

30

115)你在项目中用到了xml技术的哪些方面?

如何实现的?

31

116)j2ee常用的设计模式?

说明工厂模式31

九、STRUTS32

117)MVC的各个部分都有那些技术来实现?

如何实现?

32

118)概述struts,以及struts如何实现MVC架构的?

32

119)简单描述STRUTS的主要功能32

120)Struts的处理流程32

十、EJB34

121)EJB2.0有哪些内容?

分别用在什么场合?

EJB2.0和EJB1.1的区别?

34

122)EJB与JAVABEAN的区别?

34

123)EJB是基于哪些技术实现的?

并说出SessionBean和EntityBean,StatefulBean和StatelessBean的区别34

124)EJB包括SessionBean和EntityBean,说出他们的生命周期,及如何管理事务的?

35

125)EJB的角色和三个对象35

126)EJB容器提供的服务35

127)EJB规范规定EJB中禁止的操作有哪些?

35

128)remote接口和home接口主要作用36

129)bean实例的生命周期36

130)EJB的激活机制36

131)EJB的几种类型36

132)客服端调用EJB对象的几个基本步骤36

133)EJB需直接实现它的业务接口或Home接口吗,请简述理由36

十一、应用服务器37

134)应用服务器有那些?

37

135)应用服务器与WEB服务器的区别?

37

136)如何给weblogic指定大小的内存?

37

137)如何设定的weblogic的热启动模式(开发模式)与产品发布模式?

37

138)如何启动时不需输入用户名与密码?

37

139)在weblogic管理制台中对一个应用域进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?

37

140)说说weblogic中一个Domain的缺省目录结构37

141)在weblogic中发布ejb需涉及到哪些配置文件37

142)如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置38

143)如何查看在weblogic中已经发布的EJB?

38

改错题39

1)39

2)39

3)39

4)39

5)40

6)40

7)40

8)41

9)41

10)41

11)42

编程题44

1)在控制台中输入一个字符串,然后按照逆序打印出来44

2)设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。

写出程序。

44

3)将一个键盘输入的数字转化成中文输出(例如:

输入1234567,输出:

一百二拾三万四千五百六拾七),请用java语言编一段程序实现!

45

4)写一个Singleton出来49

5)我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串50

6)现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset51

7)继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?

52

8)同上,关于内部类的实现方式52

9)关于内部类实现的一道选择题53

10)用JAVA实现一种排序54

11)编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。

但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。

55

12)用JAVASOCKET编程,读服务器几个字符,再写入本地显示56

13)写一段Jdbc连Oracle的程序,并实现数据查询.58

14)ORACLE大数据量下的分页解决方法。

一般用截取ID方法,还有是三层嵌套方法。

60

15)用JAVA解析XML的方式.61

16)用jdom解析xml文件时如何解决中文问题?

如何解析?

63

其它65

1)描述一下你最常用的编程风格。

65

概念题

一、JAVA基础

1)面向对象的特征

1.抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。

抽象包括两个方面,一是过程抽象,二是数据抽象。

2.继承:

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。

派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

3.封装:

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。

面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

4.多态:

多态性是指允许不同类的对象对同一消息作出响应。

多态性包括参数化多态性和包含多态性。

2)什么是OOP?

什么是类?

请对比类和对象实例之间的关系。

OOP是Object_orientedProgramming(面向对象编程)的缩写。

这主要是为了区别于以前的面向过程的程序设计!

指的是用对象的观点来组织与构建系统,它综合了功能抽象和数据抽象,这样可以减少数据之间的耦合性和代码的出错几率。

使用面向对象编程技术可以使得软件开发者按照现实世界里人们思考问题的模式编写代码,可以让软件开发者更好地利用代码直接表达现实中存在的对象,将问题空间直接映射到解空间!

类:

即class在面向对象的程序设计中,专门用“类”来表示用户定义的抽象数据类型(user_definedabstracttype)。

它将具有相同状态、操作和访问机制的多个对象进行了抽象。

类具有继承、数据隐藏和多态三种主要特性。

利用类的这三种特性可以更好地表示现实世界中事物。

类是同一类对象实例的共性的抽象,对象是类的实例化。

对象通常作为计算机模拟思维,表示真实世界的抽象,一个对象就像一个软件模块,可以为用户提供一系列的服务---可以改变对象的状态、测试、传递消息等。

类定义了对象的实现细节或数据结构。

类是静态的,对象是动态的,对象可以看作是运行中的类。

类负责产生对象,可以将类当成生产对象的工厂(Objectfactory)

3)简述类与对象的概念

所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。

类是具备某些共同特征的实体的集合,它是一种抽象的概念,用程序设计的语言来说,类是一种抽象的数据类型,它是对所具有相同特征实体的抽象。

4)什么是属性与方法?

不同对象具有相同特点,就可能抽象为一定的类,那么这些特点基本上可以分为两类,一类是描述对象静态状态的,就是对象的属性,在程序设计中,可以称之为变量;另一类是描述对象的动作,就是对象的方法,在程序设计中我们称之为函数。

属性和方法是一个对象所具备的两大基本要素,也是我们后面编程工作的核心。

5)什么是封装?

只要有足够的方法,就没必要直接去操作对象属性,只要调用这些方法就可以实现要完成的任务,这种现象称为封装,它通过对象方法对其属性的操作把对象属性封装在一个对象内部,对象与外界打交道全部通过其自身的方法来实现,有效的把对象属性隐藏在对象内部。

6)描述一下JVM加载class文件的原理机制

JVM中类的装载是由ClassLoader和它的子类来实现的,JavaClassLoader是一个重要的Java运行时系统组件。

它负责在运行时查找和装入类文件的类。

7)Java程序怎么优化?

答:

提高JAVA的性能,一般考虑如下的四个主要方面:

1、程序设计的方法和模式 

2、AVA布署的环境。

3、JAVA应用程序的实现

4、硬件和操作系统

为了提高JAVA程序的性能,需要遵循如下的六个步骤。

a)明确对性能的具体要求b)了解当前程序的性能c)找到程序的性能瓶颈 d)采取适当的措施来提高性能e)只进行某一方面的修改来提高性能f)返回到步骤c)继续作类似的工作,一直达到要求的性能为止。

8)一个".java"源文件中是否可以包括多个类(不是内部类)?

有什么限制?

可以。

必须只有一个类名与文件名相同。

9)char型变量中能不能存贮一个中文汉字

能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的

1)

2)

3)

4)

5)

6)

7)

8)

9)

10)逻辑操作符(&,|,^)与条件操作符(&&,||)的区别

1.条件操作符:

只能用于关系运算,会产生短路,即该符号左边的表达式可以确定整个关系表达式的值时,便不再运算右边的表达式

2.逻辑操作符:

不仅可以用于关系运算,还可以用于位运算。

不会产生短路,即无论左边表达式取什么值都要运算右边的表达式

11)Math.round(11.5)等於多少?

Math.round(-11.5)等於多少?

 

 Math.round(11.5)等于12;Math.round(-11.5)等于-11。

1)

2)

3)

4)

5)

6)

7)

8)

9)

10)

11)

12)Java有没有goto?

 Java中的保留字,现在没有在Java中使用。

13)int和Integer的区别

Java提供两种不同的类型:

引用类型和原始类型(基本数据类型)。

int是java的原始类型,Integer是java为int提供的封装类。

Java为每个原始类型提供了封装类:

Boolean-Booleanchar-Characterbyte-Byteshort-Short

int-Integerlong-Longfloat-Floatdouble-Double

引用类型和原始类型具有不同的特征和方法,它们包括:

大小和速度问题,这种类型以哪种类型的数据结构存储等。

当引用类型和原始类型用作某个类的实例数据时所指定的缺省值不同:

对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。

14)如何将数值型字符转换为数字?

如何去小数四舍五入保留小数点后两位。

1、Integer.parseInt(“111”);Double.parseDouble(“11.22”);

2、double num = 2.625;double tmp = Math.round(num * 100) / 100d;

15)shorts1=1;s1=s1+1;和shorts1=1;s1+=1;有什么错误

shorts1=1;s1=s1+1;有错,数据库类型不匹配

shorts1=1;s1+=1;没有错误

16)floatf=3.4是否正确?

不正确。

精度不准确,应该用强制类型转换,如下所示:

floatf=(float)3.4或者floatf=3.4f;

17)String和StringBuffer的区别

String类提供了数值不可改变的字符串,而StringBuffer类提供的字符串可以进行修改。

当你知道字符数据要改变的时候你就可以使用StringBuffer。

典型地,你可以使用StringBuffer来动态构造字符数据。

18)String是否是最基本的数据类型,能否被继承

不是。

基本数据类型包括byte、short、int、long、char、float、double和boolean。

String类是final类型的,因此不可以继承这个类、不能修改这个类。

19)Strings=newString("xyz");创建了几个StringObject?

 

 创建了两个StringObject对象

"xyz"本身作为字符常量,在汇编语言中应该作为常量放在数据段,Java有一个类似数据段的constantpool保存这个常量,在classloader加载这个类的时候就把"xyz"和这个类的其他一些信息放在constantpool。

new String("xyz")根据常量"xyz"在heap上创建String对象。

所以,一共两个对象

20)数组有没有length()这个方法?

String有没有length()这个方法?

数组没有length()这个方法,有length的属性。

String有length()这个方法。

21)排序都有哪几种方法?

用JAVA实现一个快速排序

排序的方法有:

插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)

快速排序的伪代码。

//使用快速排序方法对a[0:

n-1]排序

从a[0:

n-1]中选择一个元素作为middle,该元素为支点

把余下的元素分割为两段left和right,使得left中的元素都小于等于支点,而right中的元素都大于等于支点

递归地使用快速排序方法对left进行排序

递归地使用快速排序方法对right进行排序

所得结果为left+middle+right

22)swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上

switch(expr1)中,expr1是一个整数表达式。

因此传递给switch和case语句的参数应该是int、short、char或者byte。

Long,string都不能作用于swtich。

23)在JAVA中,如何跳出当前的多重嵌套循环?

用break;return方法。

24)关于日期和时间的几个问题 

1、如何取得年、月、日,小时、分、秒:

Datedat=newDate();dat.getYear();dat.getMonth();dat.getDay();dat.getHours();...

2、如何取得从1970年到现在的毫秒数:

longnow=dat.getTime();

3、如何格式化日期

Date

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 军事政治

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1