当前位置:文档之家› 最新java面试综合试题

最新java面试综合试题

最新java面试综合试题
最新java面试综合试题

java面试题综合题

JA V A 综合面试题

2010-08-12

卞建权

java面试题综合题

目录

Java面试题整理 (9)

Java面向对象 (9)

1. super()与this()的区别? (9)

2. 作用域public,protected,private,以及不写时的区别? (9)

3. 编程输出如下图形。 (9)

4. JAVA的事件委托机制和垃圾回收机制 (10)

5. 在JAVA中,如何跳出当前的多重嵌套循环? (10)

6. 什么是java序列化,如何实现java序列化?(写一个实例) (10)

7. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? (10)

8. 排序都有哪几种方法?请列举。用JAVA实现一个快速排序? (10)

9. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? (11)

10. Final类有什么特点? (11)

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

12. 内部类的实现方式? (12)

13. 用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? (13)

14. 如在COLLECTION框架中,实现比较要实现什么样的接口? (13)

15.用插入法进行排序代码如下 (13)

16. 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节

截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。 (14)

15、Java编程,打印昨天的当前时刻 (15)

16、文件读写,实现一个计数器 (15)

17、指出下面程序的运行结果。 (16)

18、抽象类和接口的区别? (16)

19、什么是类的返射机制? (16)

20、类的返射机制中的包及核心类? (17)

21、得到Class的三个过程是什么? (17)

22、如何唤起类中的一个方法? (17)

23、如何将数值型字符转换为数字(Integer,Double)? (17)

24、如何将数字转换为字符? (17)

25、如何去小数点前两位,并四舍五入。 (17)

26、如何取得年月日,小时分秒? (18)

27、如何取得从1970年到现在的毫秒数 (18)

28、如何获取某个日期是当月的最后一天? (18)

29、如何格式化日期? (19)

30、编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。

(19)

32、String s = new String("xyz");创建了几个String Object? (19)

33、float型float f=3.4是否正确? (19)

35、说出一些常用的类,包,接口,请各举5个 (19)

36、java中会存在内存泄漏吗,请简单描述。 (20)

37、java中实现多态的机制是什么? (20)

38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动

通知虚拟机进行垃圾回收? (20)

39、静态变量和实例变量的区别? (20)

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

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

43、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗? (21)

45、冒泡排序法 (21)

46、String and StringBuffer的区别? (22)

47、用java代码编写堆栈 (22)

48、集合的作用是什么? (23)

49、集合的通用方法有那些?通用方法是什么?(操作) (23)

50、说出ArrayList,Vector, LinkedList的存储性能和特性HashMap和Hashtable的区别 (24)

51、Collection 和Collections的区别。 (24)

52、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用。 (24)

53、List, Set, Map是否继承自Collection接口? (24)

54、面向对象的特征有哪些方面 (25)

55、String是最基本的数据类型吗? (25)

56、int 和Integer 有什么区别? (25)

57、运行时异常与一般异常有何异同? (25)

58、&和&&的区别? (25)

59、final, finally, finalize的区别? (25)

62、heap和stack有什么区别? (26)

63、Static Nested Class 和Inner Class的不同? (26)

64、什么时候用assert? (26)

65、GC是什么? 为什么要有GC? (26)

66、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? (26)

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

68、Java有没有goto? (27)

69、给我一个你最常见到的runtime exception (27)

70、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? (27)

71、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? (27)

72、数组有没有length()这个方法? String有没有length()这个方法? (28)

73、构造器Constructor是否可被override? (28)

74、是否可以继承String类? (28)

75、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? .. 28

76、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? (28)

77、编程题: 用最有效率的方法算出2乘以8等於几? (28)

78、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? (28)

79、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返

回变化后的结果,那么这里到底是值传递还是引用传递? (29)

80、四种会话跟踪技术 (29)

81、编程题: 写一个Singleton出来。 (29)

83、Java中的异常处理机制的简单原理和应用。 (30)

84、垃圾回收的优点和原理。并考虑2种回收机制。 (30)

85、描述一下JVM加载class文件的原理机制? (30)

86、char型变量中能不能存贮一个中文汉字?为什么? (30)

88、写一个程序,从文件(c:\test.txt)中查出字符串”mobnet”出现的次数? (30)

java基础类库(io流,集合类,线程,Socket,AWT,Swing,sql) (30)

1、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出

他们分别是哪些类? (30)

2、启动一个线程是用run()还是start()? (31)

3、线程的基本概念、线程的基本状态以及状态之间的关系 (31)

4、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 用什么关键字修

饰同步方法? stop()和suspend()方法为何不推荐使用? (31)

用synchoronized修饰同步方法。 (31)

5、集合框架有什么? (31)

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

出程序 (32)

13、同步和异步有和异同,在什么情况下分别使用他们?举例说明。 (33)

14、sleep() 和wait() 有什么区别? (33)

15、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象

的其它方法? (33)

17、输入输出流的理解: (34)

18、请写一个程序的读写,要求用两种方式一种是低层流另一种是高层流。 (34)

19、如何列出某个目录下的所有文件 (35)

Socket (37)

20、用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同

的数据? (37)

23、介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)? (38)

24、请说出你所知道的线程同步的方法 (38)

jdbc数据访问技术 (39)

1、JDBC如何做事务处理? (39)

2、写出几个在Jdbc中常用的接口 (39)

3、简述你对Statement,PreparedStatement,CallableStatement的理解 (39)

4、Java中访问数据库的步骤? (39)

5、JDBC中的核心类及其作用是什么? (40)

6、执行存储过程用那一个类,如何操作输出参数?(操作) (40)

8、可能会让你写一段Jdbc连Oracle的程序. (40)

9、Class.forName的作用?为什么要用? (40)

10、Jdo是什么? (40)

11、在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法

(41)

Web编程Jsp&Servlet技术 (42)

1、简单说说tomcat的配置? (42)

2、JSP中动态INCLUDE与静态INCLUDE的区别? (42)

3、forward和redirect的区别? (42)

4、Servlet的体系结构是什么? (42)

Servlet (42)

5、如何实现一个自定义的servlet? (42)

6、Servlet的生命周期是什么? (43)

7、jsp就是一个servlet是否正确? (43)

8、请罗列jsp中的脚本、指令及动作? (43)

9、JSP的内置对象及方法 (43)

10、说出在JSP页面里是怎么分页的? (44)

11、include的两种实现方式的区别? (46)

12、jsp页面中两种跳转方式分别是什么?有什么区别? (46)

13、描述JSP和Servlet的区别、共同点、各自应用的范围 (46)

14、在JSP中如何读取客户端的请求,如何确定某个Jsp文件的真实路径? (47)

15、描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。 (47)

16、说明Jsp中errorPage的作用,应用范围。 (47)

17、介绍在Jsp中如何使用JavaBeans (47)

19、简单介绍JSP的标记库 (47)

20、Servlet中的核心类有那些,各有什么特点? (48)

21、Servlet中重要的包有那些,有什么区别? (48)

22、说出Servlet的生命周期,并说出Servlet和CGI的区别? (48)

23、什么情况下调用doGet()和doPost()? (48)

25、如何现实servlet的单线程模式 (48)

27、Request对象的主要方法: (49)

28、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何

输出一个某种编码的字符串? (49)

30、Servlet执行时一般实现哪几个方法? (50)

5 Hibernate持久层技术 (50)

1、在myeclipse加入hibernate环境的全过程是什么? (50)

2、hibernate的核心配置文件是什么及其作用? (50)

3、hibernate的核心类是什么,它们的相互关系是什么?重要的方法是什么? (50)

4、关联: (51)

5、hibernate中的one-to-many或many-to-one中常用的方式是什么? (51)

6、Criteria 的作用? (51)

7、DetachedCriteria的作用? (51)

8、Query (52)

9、继承关系的实现 (52)

10、tomcat连接池:在容器中预先产生了n个连接实例,客户端不用重新实例化,可以直

接取。 (53)

11、对象的三大状态 (55)

12、hibernate常见优化策略 (55)

6. iBatis持久层技术 (55)

用ibatis的原因: (55)

jdbc、hibernate、ibatis的区别 (55)

ibatis的核心配置文件: (56)

ibatis的核心类: (56)

7 Structs界面控制层技术 (57)

1、请说出struts框架的几大组件? (57)

3、struts的核心类有那些,在MVC模式中其对应的关系是什么? (57)

4、Struts的处理请求的全过程是什么? (58)

5、在struts中如何通过一个url找到一个action,它的核心配置文件是什么? (58)

6、为什么使用MVC,其主要目的是什么? (58)

7、对于MVC在action中对应有类有几种,各有什么作用? (58)

8、struts的标记有几类,请列举并说明其作用? (58)

9、如何在struts中配置数据源在,什么文件?用什么标签?如何取出DataSource? (59)

10、如何在jbuilder中开发struts? ....................................................... 错误!未定义书签。

11、如何实现struts的validator框架? (59)

13、如何实现国际化? (60)

国际化:不用修改代码,就适用于不同的语言国家 (60)

8 JSF界面控制层技术................................................................................... 错误!未定义书签。

1、Jsf中的核心类用那些?有什么作用? .............................................. 错误!未定义书签。

2、Jsf中的LiftCycle六大生命周期是什么? ...................................... 错误!未定义书签。

3、如何管量web层中的Bean,用什么标签。如何通过jsp页面与Bean绑定在一起进

行处理? ................................................................................................... 错误!未定义书签。

4、Jsf中导航的标签是什么? ................................................................ 错误!未定义书签。

5、jsf中用户界面组件模型有几类,各代表什么? ............................ 错误!未定义书签。

6、表格处理及取值............................................................................... 错误!未定义书签。

7、jsf的标签库有哪些?...................................................................... 错误!未定义书签。

9 Spring 应用框架技术 (61)

1、Spring和Struts的区别?strusts:是一种基于MVC模式的一个web层的处理。

61

2、什么是aop,aop的作用是什么? (61)

3、aop中的关键名词有些那些,相互关系是什么? (61)

4、依赖注入的方式有几种,各是什么? (61)

5、spring中的核心类有那些,各有什么作用? (62)

6、ApplicationContext的作用 (62)

7、如何实现资源管理 (62)

8、如何实现加入web框架中 (62)

9、如何实现事件处理 (62)

10、spring的ioc及di代表什么意思? (63)

、如何在spring中实现国际化? (63)

12、spring的配置的主要标签是什么?有什么作用? (63)

13、spring与ejb2.0的事务管理比较的优缺点? (64)

14、spring的jdbc与传统的jdbc有什么区别,其核心类有那些? (64)

15、在spring中有几种事务管理,分别是什么? (64)

16、在spring中如何配代码的事务管理? (65)

17、在spring中如何配容器的事务管理,相关的类有那些? (65)

18、如果spring与hibernate结合在一起可以不需要hibernate.cfg.xml文件是否正确? 65

19、spring+hibernate的配置文件中的主要类有那些?如何配置? (65)

20、spring+hibernate的代码实现中,对于实现类一定继承于一个类是那一个,它有什么

作用。 (66)

21、如何配置spring+struts? (66)

22、如何在web环境中配置applicationContext.xml文件? (66)

24、Jsf和spring的区别? ..................................................................... 错误!未定义书签。

jsf:是一种基于MVC模式的一个web层的处理,粒度较struts较细。错误!未定义书签。

Ejb技术 (78)

1、weblogic的热发布 (78)

2、在ejb中实现one-to-many (78)

3、ejb所用的技术: (78)

4、实现ejb几个接口,几个类? (78)

5、实现ejb相关的配置文件是什么? (79)

6、ejb的分类?区别 (79)

7、本地接口与远程接口的区别。 (79)

8、请求处理的过程? (79)

9、statefull的生命周期 (80)

10、stateless的生命周期 (80)

11、entityBean的生命周期: (80)

12、EJB需直接实现它的业务接口或Home接口吗,请简述理由。 (80)

13、EJB的激活机制 (81)

14、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别, (81)

15、EJB的分类是什么?各有什么特点? (81)

10、EJB中主要的配置文件及作用是什么? (82)

15、说出数据连接池的工作机制是什么? (82)

16、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? (82)

18、EJB与JAVA BEAN的区别? (82)

19、EJB的角色和三个对象 (83)

20、EJB容器提供的服务 (83)

21、EJB规范规定EJB中禁止的操作有哪些? (83)

26、EJB的基本架构 (83)

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

置 (84)

31如何查看在weblogic中已经发布的EJB? (84)

WebService技术 (84)

1、什么是Web Service? (84)

2、什么是Web容器? (85)

3、应用服务器有那些? (85)

5、如何给weblogic指定大小的内存? (85)

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

7、如何启动时不需输入用户名与密码? (85)

8、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或

连接池等相关信息进行配置后,实际保存在什么文件中? (85)

9、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp

放入何目录下,然的在浏览器上就可打入http://主机:端口号//helloword.jsp就可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean该如何办? (86)

12、CORBA是什么?用途是什么? (86)

13、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别 (86)

14、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、

UDDI,WSDL解释。 (86)

j2ee模式(MVC模式、Model1,Model2) (87)

1、j2ee常用的设计模式?说明工厂模式。 (87)

2、说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法 (87)

3、解释下面关于J2EE的名词 (88)

4、介绍J2EE、J2SE、J2ME的区别。 (88)

5、开发中都用到了那些设计模式?用在什么场合? (88)

6、J2EE是什么? (88)

7、J2EE是技术还是平台还是框架? (88)

其他 (89)

1、当前主流的解析器有那些? (89)

2、Dom解析处理的过程是什么? (89)

3、Sax解析处理的过程是什么? (90)

4、Dom与Sax相比它们的优缺点是什么? (91)

5、如何将Dom对象写入到文件中? (91)

6、用jdom解析xml文件时如何解决中文问题? (92)

7、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方

式? (92)

8、标准建模语言UML中的各种图? (92)

9、BS与CS的联系与区别。 (92)

10、Uml的概念是什么?主要的工具是什么 (93)

Uml:统一建模语言 (93)

11、Uml的概念中的九大图形是什么?最重的三个图是什么?各有什么特点? (93)

13、在类图中如何找类? ....................................................................... 错误!未定义书签。

Java面试题整理

Java面向对象

1. super()与this()的区别?

This():当前类的对象,super父类对象。

Super():在子类访问父类的成员和行为,必须受类继承规则的约束

而this他代表当前对象,当然所有的资源都可以访问.

在构造函数中,如果第一行没有写super(),编译器会自动插入.但是如果父类没有不带参数的构造函数,或这个函数被私有化了(用private修饰).此时你必须加入对父类的实例化构造.而this就没有这个要求,因为它本身就进行实例化的构造.

而在方法中super和this使用的方法就差不多了.只不过super 要考虑是否能访问其父类的资源.

2. 作用域public,protected,private,以及不写时的区别?

Public:不同包、同一包、类内都可用

Private:类内

Protected: 不同包的子类、同一包、类内都可用

不写时:同一包内、类内

3. 编程输出如下图形。

* * * * *

* * * *

* * *

* *

*

代码如下:

public class Print {

public static void main(String[] args) {

for (int i = 0; i < 5; i++) {

for (int j = 5; j > i; j--) {

System.out.print("*");

}

System.out.println();

}

}

}

4. JAVA的事件委托机制和垃圾回收机制

java 事件委托机制的概念,一个源产生一个事件并将它送到一个或多个监听器那里。在这种方案中,监听器简单的等待,直到它收到一个事件。一旦事件被接受,监听器将处理这个事件,然后返回。

垃圾回收机制垃圾收集是将分配给对象但不再使用的内存回收或释放的过程。如果一个对象没有指向它的引用或者其赋值为null,则次对象适合进行垃圾回收

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

用break; return 方法。

6. 什么是java序列化,如何实现java序列化?(写一个实例)

序列化:

处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。

序列化的实现:

将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

7. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?可以。如果这个类的修饰符是public,其类名与文件名必须相同。

8. 排序都有哪几种方法?请列举。用JAVA实现一个快速排序?

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

快速排序的伪代码。

9. Overload和Override的区别。Overloaded的方法是否可以改变返回值的

类型?

方法的

重写Override,子类覆盖父类的方法,将子类传与父类的引用调用的还是子类的方法。

重载Overloading 一个类多个方法,名称相同,参数个数类型不同。

两者都是Java多态性的不同表现。

Overloaded的方法是可以改变返回值的类型。

1,public class Ctest()

{

Public static void main()

{

System.out.prinln(8+8+”88”+8+8);

}

}

168888

10. Final类有什么特点?

属性常量

方法不可以overridding

类不可以继承

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

答:父类:

package test;

public class FatherClass

{

public FatherClass()

{

System.out.println("FatherClass Create");

}

}

子类:

package test;

import test.FatherClass;

public class ChildClass extends FatherClass

{

public ChildClass()

{

System.out.println("ChildClass Create");

}

public static void main(String[] args)

{

FatherClass fc = new FatherClass();

ChildClass cc = new ChildClass();

}

}

输出结果:

C:>java test.ChildClass

FatherClass Create

FatherClass Create

ChildClass Create

12. 内部类的实现方式?

答:示例代码如下:

package test;

public class OuterClass

{

private class InterClass

{

Public Interlass()

{

System.out.println("InterClass Create"); }

}

public OuterClass()

{

InterClass ic = new InterClass();

System.out.println("OuterClass Create");

}

public static void main(String[] args)

{

OuterClass oc = new OuterClass();

}

}

输出结果:

C:>java test/OuterClass

InterClass Create

OuterClass Create

13. 用JAVA实现一种排序,JAVA类实现序列化的方法(二种)?

14. 如在COLLECTION框架中,实现比较要实现什么样的接口?

15.用插入法进行排序代码如下

package test;

import java.util.*;

class InsertSort

{

ArrayList al;

public InsertSort(int num,int mod)

{

al = new ArrayList(num);

Random rand = new Random();

System.out.println("The ArrayList Sort Before:");

for (int i=0;i

{

al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1)); System.out.println("al["+i+"]="+al.get(i));

}

}

public void SortIt()

{

Integer tempInt;

int MaxSize=1;

for(int i=1;i

{

tempInt = (Integer)al.remove(i);

if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue()) {

al.add(MaxSize,tempInt);

MaxSize++;

System.out.println(al.toString());

} else {

for (int j=0;j

{

if

(((Integer)al.get(j)).intValue()>=tempInt.intValue())

{

al.add(j,tempInt);

MaxSize++;

System.out.println(al.toString());

break;

}

}

}

}

System.out.println("The ArrayList Sort After:");

for(int i=0;i

{

System.out.println("al["+i+"]="+al.get(i));

}

}

public static void main(String[] args)

{

InsertSort is = new InsertSort(10,100);

is.SortIt();

}

}

JAVA类实现序例化的方法是实现java.io.Serializable接口

Collection框架中实现比较要实现Comparable 接口和 Comparator 接口

16. 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按

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

答:代码如下:

public static void split(String source,int num) throws Exception {

int k=0;

String temp="";

for (int i = 0; i

{

byte[] b=(source.charAt(i)+"").getBytes();

k=k+b.length;

if(k>num)

{

break;

}

temp=temp+source.charAt(i);

}

System.out.println(temp);

}

15、Java编程,打印昨天的当前时刻

public class YesterdayCurrent{

public void main(String[] args){

Calendar cal = Calendar.getInstance();

cal.add(Calendar.DATE, -1);

System.out.println(cal.getTime());

}

}

16、文件读写,实现一个计数器

public int getNum(){

int i = -1;

try{

String stri="";

BufferedReader in = new BufferedReader(new FileReader(f));

while((stri=in.readLine())!=null){

i = Integer.parseInt(stri.trim());

}

in.close();

}catch(Exception e){

e.printStackTrace();

}

return i;

}

public void setNum(){

int i = getNum();

i++;

try{

PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(f,false)));

out.write(String.valueOf(i)); //可能是编码的原因,如果直接写入int的话,将出现java编码和windows编码的混乱,因此此处写入的是String

out.close() ;

}catch(Exception e){

e.printStackTrace();

}

}

17、指出下面程序的运行结果。

class A{

static{

System.out.print("1");

}

public A(){

System.out.print("2");

}

}

class B extends A{

static{

System.out.print("a");

}

public B(){

System.out.print("b");

}

}

public class Hello{

public static void main(String[] ars){

A ab = new B(); //执行到此处,结果: 1a2b

ab = new B(); //执行到此处,结果: 1a2b2b

}

}

注:类的static 代码段,可以看作是类首次加载(被虚拟机加载)执行的代码,而对于类的加载,首先要执行其基类的构造,再执行其本身的构造

18、抽象类和接口的区别?

(1)接口可以被多重implements,抽象类只能被单一extends

(2)接口只有定义,抽象类可以有定义和实现

(3)接口的字段定义默认为:public static final, 抽象类字段默认是"friendly"(本包可见)

当功能需要累积时用抽象类,不需要累积时用接口。

19、什么是类的返射机制?

通过类(Class对象),可以得出当前类的fields、method、construtor、interface、superClass、modified等,同是可以通过类实例化一个实例、设置

属性、唤醒方法。Spring中一切都是返射、struts、hibernate都是通过类的返射进行开发的。

20、类的返射机制中的包及核心类?

https://www.doczj.com/doc/3313990579.html,ng.Class

https://www.doczj.com/doc/3313990579.html,ng.refrection.Method

https://www.doczj.com/doc/3313990579.html,ng.refrection.Field

https://www.doczj.com/doc/3313990579.html,ng.refrection.Constructor

https://www.doczj.com/doc/3313990579.html,ng.refrection.Modifier

https://www.doczj.com/doc/3313990579.html,ng.refrection.Interface

21、得到Class的三个过程是什么?

对象.getClass()

类.class或Integer.type(int) Integer.class(https://www.doczj.com/doc/3313990579.html,ng.Integer) Class.forName();

22、如何唤起类中的一个方法?

产生一个Class数组,说明方法的参数

通过Class对象及方法参数得到Method

通过method.invoke(实例,参数值数组)唤醒方法

23、如何将数值型字符转换为数字(Integer,Double)?

Integer.parseInt(“1234”)

Double.parseDouble(“123.2”)

24、如何将数字转换为字符?

1+””

1.0+””

25、如何去小数点前两位,并四舍五入。

double d=1256.22d;

d=d/100;

System.out.println(Math.round(d)*100);

26、如何取得年月日,小时分秒?

Calendar c=Calendar.getInstance();

c.set(Calendar.YEAR,2004);

c.set(Calendar.MONTH,0);

c.set(Calendar.DAY_OF_MONTH,31);

System.out.println(c.get(Calendar.YEAR)+"

"+(c.get(Calendar.MONTH)+1)+" "+c.get(Calendar.DAY_OF_MONTH));

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

Java.util.Date dat=new Date();

long now=dat.getTime();

28、如何获取某个日期是当月的最后一天?

当前日期加一天,若当前日期与结果的月份不相同,就是最后一天。

取下一个月的第一天,下一个月的第一天-1

public static void main(String[] args)

{

Calendar c=Calendar.getInstance();

c.set(Calendar.YEAR,2004);

c.set(Calendar.MONTH,0);

c.set(Calendar.DAY_OF_MONTH,30);

Calendar c1=(Calendar)c.clone();

System.out.println(c.get(Calendar.YEAR)+"

"+(c.get(Calendar.MONTH)+1)+" "+c.get(Calendar.DAY_OF_MONTH));

c.add(Calendar.DAY_OF_MONTH,1);

if(c.get(Calendar.MONTH)!=c1.get(Calendar.MONTH))

{

System.out.println("是最后一天");

}

else

{

System.out.println("不是取后一天");

}

}

29、如何格式化日期?

Import java.text. SimpleDateFormat;

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Date dat=new Date();

//把日期转化为字符串

String str=sdf.format(dat);

System.out.println(str);

//将字符串转化为日期

Java.util.Date d1=sdf.parse(“yyyy-mm-dd”);

30、编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。

String a=new String("中".getBytes("gb2312"),"iso-8859-1");

String a=new String("中".getBytes("iso-8859-1"));

32、String s = new String("xyz");创建了几个String Object?

New了一个,”XYZ”本来又是一个

两个

33、float型float f=3.4是否正确?

报错,应当是float f=3.4f

如果是float f=3(整数)正确

35、说出一些常用的类,包,接口,请各举5个

常用的类:BufferedReader BufferedWriter FileReader FileWirter String Integer

常用的包:https://www.doczj.com/doc/3313990579.html,ng java.awt java.io java.util java.sql javax.xml javax.sevlet javax.ejb. https://www.doczj.com/doc/3313990579.html, javax.faces

常用的接口:List Map Document NodeList EjbObject EjbHome SessionBean EntityBean

36、java中会存在内存泄漏吗,请简单描述。

会。如:int i,i2; return (i-i2); //when i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。

37、java中实现多态的机制是什么?

静态的多态:方法名相同,参数个数或类型不相同。(overloading)

动态的多态:

子类覆盖父类的方法,将子类的实例传与父类的引用调用的是子类的方法

实现接口的实例传与接口的引用调用的实现类的方法。

38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

动态内存

存放类实例

静态内存

类本身

垃圾收集主要针对的是动态内存,一般当内存不够用时会进行垃圾收集。

或通过System.gc()手动收集,但不保证一定执行。

39、静态变量和实例变量的区别?

static i = 10; //常量

class A a; a.i =10;//可变

静态方法可以调用静态变量。

实现方法可以调用静态变量、实例变量

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

不可以,如果其中包含对象的method();不能保证对象初始化.

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

Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。

JAVA面试题汇总

目录 概念题 ---------------------------------------------------------------------------------错误!未定义书签。 一、JAVA基础 ------------------------------------------------------------------------------ 错误!未定义书签。 1)面向对象的特征 --------------------------------------------------------------------------------------- 错误!未定义书签。 2)什么是OOP?什么是类?请对比类和对象实例之间的关系。 ----------------------- 错误!未定义书签。 3)简述类与对象的概念 -------------------------------------------------------------------------------- 错误!未定义书签。 4)什么是属性与方法? -------------------------------------------------------------------------------- 错误!未定义书签。 5)什么是封装? ------------------------------------------------------------------------------------------ 错误!未定义书签。 6)描述一下JVM加载class文件的原理机制 --------------------------------------------------- 错误!未定义书签。 7)Java程序怎么优化? -------------------------------------------------------------------------------- 错误!未定义书签。 8)一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?----- 错误!未定义书签。 9)char型变量中能不能存贮一个中文汉字 ----------------------------------------------------- 错误!未定义书签。 10)逻辑操作符(&,|,^)与条件操作符(&&,||)的区别--------------------------------------- 错误!未定义书签。 11)Math.round(11.5)等於多少? Math.round(-11.5)等於多少? ------------------------- 错误!未定义书签。 12)Java有没有goto?-------------------------------------------------------------------------------- 错误!未定义书签。 13)int 和Integer 的区别 --------------------------------------------------------------------------- 错误!未定义书签。 14)如何将数值型字符转换为数字?如何去小数四舍五入保留小数点后两位。错误!未定义书签。 15)short s1 = 1; s1 = s1 + 1;和short s1 = 1; s1 += 1;有什么错误 -------------------------- 错误!未定义书签。 16)float f=3.4是否正确? ----------------------------------------------------------------------------- 错误!未定义书签。 17)String 和StringBuffer的区别 ------------------------------------------------------------------ 错误!未定义书签。 18)String是否是最基本的数据类型,能否被继承 ----------------------------------------- 错误!未定义书签。 19)String s = new String("xyz");创建了几个String Object? ------------------------------- 错误!未定义书签。 20)数组有没有length()这个方法? String有没有length()这个方法? ---------------- 错误!未定义书签。 21)排序都有哪几种方法?用JAVA实现一个快速排序 ----------------------------------- 错误!未定义书签。 22)swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上--- 错误!未定义书 签。 23)在JAVA中,如何跳出当前的多重嵌套循环? ------------------------------------------ 错误!未定义书签。 24)关于日期和时间的几个问题------------------------------------------------------------------- 错误!未定义书签。 25)一个对象被当作参数传递到一个方法,是值传递还是引用传递----------------- 错误!未定义书签。 26)什么时候用assert?------------------------------------------------------------------------------ 错误!未定义书签。 27)GC是什么? 为什么要有GC? ---------------------------------------------------------------- 错误!未定义书签。 28)垃圾回收的优点和原理 ------------------------------------------------------------------------- 错误!未定义书签。 29)垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?错误!未定义书 签。 30)java中会存在内存泄漏吗,请简单描述 -------------------------------------------------- 错误!未定义书签。 31)java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,他们分别是哪些 类?错误!未定义书签。 32)文件和目录(I/O)操作 ------------------------------------------------------------------------ 错误!未定义书签。 33)什么是java序列化?如何实现java序列化?------------------------------------------- 错误!未定义书签。

java经典面试题汇总

Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√ × friendly √√ × × private √ × × × 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JA V A的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的 7、String s = new String("xyz");创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor 9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错 答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用 11、数组有没有length()这个方法? String有没有length()这个方法 答:数组没有length()这个方法,有length的属性。String有有length()这个方法 12、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型

百一测评——Java经典面试题 带答案

职业技能题库&在线云笔试平台https://www.doczj.com/doc/3313990579.html, 试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试 试卷链接:https://www.doczj.com/doc/3313990579.html,/store/open/paperInfo/41651 试卷限时:50分 一.单项选择题 每题分值:2.5分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

职业技能题库&在线云笔试平台https://www.doczj.com/doc/3313990579.html, 答案:B 3.[单选]下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.doczj.com/doc/3313990579.html,ng D.java.swing 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0;

职业技能题库&在线云笔试平台https://www.doczj.com/doc/3313990579.html, do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.[单选]下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.[单选]下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象

JAVA框架面试题汇总

1.SpringMVC Framework的理解: 1、它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件。并且和Spring提供的其他基础结构紧密集成 2、不依赖于Servlet API(目标虽是如此,但是在实现的时候确实是依赖于Servlet的) 3、可以任意使用各种视图技术,而不仅仅局限于JSP 4、支持各种请求资源的映射策略 5、它应是易于扩展的 2.简单的谈一下SpringMVC的工作流程? 流程? 1、用户发送请求至前端控制器DispatcherServlet? 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。? 3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。? 4、DispatcherServlet调用HandlerAdapter处理器适配器? 5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。? 6、Controller执行完成返回ModelAndView? 7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet? 8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器? 9、ViewReslover解析后返回具体View? 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。? 11、DispatcherServlet响应用户 3.如何解决POST请求中文乱码问题,GET的又如何处理呢? 在web.xml中加入: . .CharacterEncodingFilter . .???? .????????encoding .?????? utf-8

Java面试测试题并赋予答案

在main(String[] args)方法内是否可以调用一个非静态方法? 1.不能 同一个文件里是否可以有两个public类? 2.不能 方法名是否可以与构造器的名字相同? 3.可以。 public class Test { public Test(String iceboy) { System.out.println(iceboy); } public void Test(String iceboy) { System.out.println(iceboy); } public static void main(String[] args) { Test a = new Test("abc");//输出“abc” a.Test("iceboy");//输出“iceboy” } } 4.初始化了一个没有run()方法的线程类,是否会出错? 4.不会。 第一种方法:直接继承Thread类。 public class Test { public static void main(String[] args) { ThreadClass t = new ThreadClass(); t.start(); System.out.println("end");//输出“end” } } class ThreadClass extends Thread //Thread类已经实现了空的run()方法。 { } 第二种方法:实现Runnable接口 public class Test { public static void main(String[] args)

{ ThreadClass t = new ThreadClass(); Thread thread = new Thread(t); thread.start(); System.out.println("end"); } } class ThreadClass implements Runnable { public void run() //必须有此方法否则编译报错。它是Runnable接口中的抽象方法。 { System.out.println("Threads"); } } 局部内部类是否可以访问非final变量? 不能访问局部的非final修饰的变量,可以访问局部的使用了final修饰的变量,可以访问成员变量(全局的)。 class Out { private String name = "https://www.doczj.com/doc/3313990579.html,"; void print() { final String work = "out.local.work";//若不是final的则不能被Animal 使用. int age=10; class Animal //定义一个局部内部类.只能在print()方法中使用. //局部类中不能使用外部的非final的局部变量.全局的可以. { public void eat() { System.out.println(work);/ /ok //age=20;//error not final,编译时就会出错 System.out.println(name);/ /ok. } } Animal local = new Animal(); local.eat(); }

JAVA程序员笔试面试题汇总及答案

1. 【基础题】请描述访问控制符的各自作用域与区别 答: √√√ √√√ √√ √ 一、名词解释 二、问答题 1. 【中等题】请说出ArrayList与Vector的区别 答: 主要从二方面来说、 同步性:Vector就是线程安全的,也就就是说就是同步的,而ArrayList就是线程序不安全的,不就是同步的 二、数据增长:当需要增长时,Vector 默认增长为原来一培,而ArrayList却就是原来的一半 2. 【中等题】请说出HashMap与Hashtable的区别 答:HashMap与HashT able主要从三方面来说。 一、历史原因:Hashtable就是基于陈旧的Dictionary类的,HashMap就是Java 1、2引进的Map接口的一个实现 二、同步性:Hashtable就是线程安全的,也就就是说就是同步的,而HashMap就是线程序不安全的,不就是同步的 三、值:只有HashMap可以让您将空值作为一个表的条目的key或value 3. 【基础题】Collection 与Collections的区别 答: Collections就是个java、util下的类,它包含有各种有关集合操作的静态方法。

Collection就是个java、util下的接口,它就是各种集合结构的父接口

第十八章输入输出 笔试题 一、填空题 1. 【基础题】File对象的isFile()方法作用就是判断就是否就是文 件,getAbsolutePath() 方法作用就是获取文件或目录的绝对路径。 2. 【基础题】BufferedReader与BufferedWriter以字符流的方式读写文本文件,且效率更高。 3. 【基础题】与以字节流的方式读写文本文件。 二、选择题 1. 【基础题】下列哪个类就是实体类(BC ) A. InputStream B. PrintStream C. Socket D. Reader E. DataInput 2. 【提高题】请选择下列程序的运行结果(A) public class TestIOapp{ public static void main(String [] args) throws IOException{ StringReader stingin = new StringReader("test"); LineNumberReader in = new LineNumberReader(stingin); PrintWriter out = new PrintWriter(System、out); out、println(in、readLine()); out、flush(); } } A. test B. test:1 C. 1:test D. 1 test 3. 【提高题】请选择下列程序的运行结果( B )

javaWeb面试题(含答案)

1、jsp和servlet的区别、共同点、各自应用的围?? JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层. 2、cookie和session的作用、区别、应用围,session的工作原理??? Cookie:主要用在保存客户端,其值在客户端与服务端之间传送,不安全,存储的数据量有限。 Session:保存在服务端,每一个session在服务端有一个sessionID作一个标识。存储的数据量大,安全性高。占用服务端的存资源。 3、jstl是什么?优点有哪些?? JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。优点有: 1、在应用程序服务器之间提供了一致的接口,最大程序地提高了WEB应用在各应用服务器之间的移植。 2、简化了JSP和WEB应用程序的开发。 3、以一种统一的方式减少了JSP中的scriptlet代码数量,可以达到没有任何scriptlet 代码的程序。在我们公司的项目中是不允许有任何的scriptlet代码出现在JSP中。 4、允许JSP设计工具与WEB应用程序开发的进一步集成。相信不久就会有支持JSTL的IDE 开发工具出现。 4、j2ee的优越性主要表现在哪些方面?MVC模式 a、 J2EE基于JAVA 技术,与平台无关 b、 J2EE拥有开放标准,许多大型公司实现了对该规支持的应用服务器。如BEA ,IBM,ORACLE

华为java笔试面试题

华为Java笔试题+数据库题 一、单项选择题 1.Java是从( B)语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 2.下列语句哪一个正确(B ) A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 3.下列说法正确的有(C ) A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 4.提供Java存取数据库能力的包是( A) A.java.sql B.java.awt C.https://www.doczj.com/doc/3313990579.html,ng D.java.swing 5.下列运算符合法的是( A) A.&& B.<> C.if D.:= 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是(C ) A.0 B.1 C.-1 D.死循环 7.下列哪一种叙述是正确的( D) A. abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 8.下列语句正确的是( C) A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 9.下列哪种说法是正确的(A ) A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 二、多项选择题 1.Java程序的种类有(BCD ) A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有( BCD) A.环境变量可在编译source code时指定

常见的java面试笔试题大汇总

1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 https://www.doczj.com/doc/3313990579.html,ng.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和Integer 有什么区别 Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的

(完整版)2019最新Java面试题,常见面试题及答案汇总

ava最新常见面试题+ 答案汇总 1、面试题模块汇总 面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示: 可能对于初学者不需要后面的框架和JVM 模块的知识,读者朋友们可根据自己的情况,选择对应的模块进行阅读。 适宜阅读人群 需要面试的初/中/高级java 程序员 想要查漏补缺的人 想要不断完善和扩充自己java 技术栈的人 java 面试官 具体面试题 下面一起来看208 道面试题,具体的内容。 一、Java 基础 1.JDK 和JRE 有什么区别? 2.== 和equals 的区别是什么? 3.两个对象的hashCode()相同,则equals()也一定为true,对吗? 4.final 在java 中有什么作用? 5.java 中的Math.round(-1.5) 等于多少? 6.String 属于基础的数据类型吗? 7.java 中操作字符串都有哪些类?它们之间有什么区别? 8.String str="i"与String str=new String(“i”)一样吗? 9.如何将字符串反转? 10.String 类的常用方法都有那些? 11.抽象类必须要有抽象方法吗? 12.普通类和抽象类有哪些区别? 13.抽象类能使用final 修饰吗?

14.接口和抽象类有什么区别? 15.java 中IO 流分为几种? 16.BIO、NIO、AIO 有什么区别? 17.Files的常用方法都有哪些? 二、容器 18.java 容器都有哪些? 19.Collection 和Collections 有什么区别? 20.List、Set、Map 之间的区别是什么? 21.HashMap 和Hashtable 有什么区别? 22.如何决定使用HashMap 还是TreeMap? 23.说一下HashMap 的实现原理? 24.说一下HashSet 的实现原理? 25.ArrayList 和LinkedList 的区别是什么? 26.如何实现数组和List 之间的转换? 27.ArrayList 和Vector 的区别是什么? 28.Array 和ArrayList 有何区别? 29.在Queue 中poll()和remove()有什么区别? 30.哪些集合类是线程安全的? 31.迭代器Iterator 是什么? 32.Iterator 怎么使用?有什么特点? 33.Iterator 和ListIterator 有什么区别? 34.怎么确保一个集合不能被修改?

Java经典面试笔试题及答案

1.什么是对象序列化,为什么要使用? 所谓对象序列化就是把一个对象以二进制流的方式保存到硬盘上。好处:方便远程调用。 2.值传递与引用传递的区别? 所谓值传递就是把一个对象的值传给一个新的变量,但是系统会给这个新的变量开辟一个新的内存空间。不会改变原有的值所谓引用传递就是把一个对象在堆中保存的数据传递给一个变量,此时新的变量与原有的变量对应同一个内存存储空间,当新的变量修改对象的属性时,内存中的数据也会修改。 3.接口与抽象类的区别? 1:接口里面不可以实现方法体,抽象类可以实现方法体。 2:接口可以多继承接口,抽象类不可以。 3:接口需要被子类实现,抽象类是要被子类继承(单一继承)。 4:接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性. 5: 接口中不能存在静态方法,但属性可以和final,抽象类中方法中可以有静态方法,属性也可以。 4.谈谈继承,为什么要使用继承? 所谓继承就是找出几个类中共同的部分,提取出来作为父类。而子类只需要继承父类,就可以共享父类的方法。 使用继承能够减少重复的代码。 5.方法重载的好处?

所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同。 重载的好处就是能够让我们很快的掌握该方法的功能,我们只要要记住该方法就能很快的理解该方法的参数以及参数的作用 6.项目中印象最深的部分? 我觉得在该项目中我体现到了反射技术的强大之处,原来我一直不清楚反射是一种什么样的技术,只知道一些概念上的知识,经过这个项目之后,终于知道该怎样灵活运用反射,以及在什么时候运用。 谈谈你对面向对象的理解与认识? 我觉得使用面向对象这种思维的方式比较符合我们人类的思想,不需要去学习一些什么新的思考方式,就按照现实生活做的一些故事就能让人理解该内容的知识以及他们的作用。 我的看法就是: 1:当加入新的功能的时候不会修改原有的代码。(面向接口编程) 2: 当我们写的一个类可以重复的运用在其他项目中。(代码的复用性) 3:当写一个新类的时候要考虑到他的可扩展性。(灵活性) 7.谈谈集合框架? 集合框架分为三部分,第一部分是collection接口,第二部分是Map接口、第三部分是collections帮助类 首先说一下collection接口,collection接口下面的接口分为set 接口、list接口,在往下面就是他们一些实现类。

精选最新2020年JAVA笔试面试考核题库完整版588题(含答案)

2020年JAVA笔试面试题库588题 一、简答题 1.将两个表连接在一起时,下面那一项通常是另外一个表的主键A. 外键 B. 总控键 C. 重复的组 D. 主键 答案:A 2.下列关于Java语言的叙述中,正确的是:A. 源文件名其扩展名为.jar B. Java是不区分大小写的 C. 源文件中public类的数据不限 D. 源文件名必须与public类型的类名相同 答案:D 3.在Weblogic中如果部署的应用访问两个数据库并需要进行事务控制时,则需配置 答案:两阶段提交协议 4.关系数据库中,典型的实体关系模型有三个要素? 答案:数据结构、关系操作、完整性约束 5.转发HTTP请求的两个方法 respsonse.sendDirect 和 RequestDispatcher.forward 的区别 答案:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。 6.下面哪个是合法的布尔值 A. “false” B. false C. 10 答案:B 7.J2EE的三层模型是什么?

面试应聘的JAVA笔试题和答案

一、选择题 1:List, Set, Map是否继承自Collection接口 A:都是,B 都不是 C:List, Set 是 D:Set, Map 是 正确答案 C 2:下面描述哪个是正确的 A:构造器Constructor可被override B:可以继承String类 C:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code不会被执行D:两个对象值相同(y) == true),那么也有相同的hash code 正确答案 D 3 abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized A:都能 B:都不能 C:可以为static D:可以为native 正确答案 A 4:下面的程序中,temp的最终值是什么? long temo=(int); temp%=2; A: 0 B :1 C :2 D : 3 正确答案 B 5、请在以下选项中选出非基本数据类型的选项 ( ) A: int B:byte C: boolean D:String 正确答案 D 6、阅读下面代码段, 给出以下代码的输出结果 public class Test{ public static void main(String args[]) { String str1 = "abc"; String str = "abc; String str2 = new String("abc"); == str2); == str1); } } A:true,true,true B:true,false,true C:true,true,false D:false,true,true 正确答案 D 7、阅读下面代码段, 给出以下代码的输出结果: int i=1; switch (i) { case 0: "zero");

Java面试笔试题目汇总

算法软件科技Java工程师笔试题 一、选择题(可多选)。 1、Java 之所以可以实现夸平台,是因为Java 程序在运行时使用了: A: JDK ( Java Development Kit ) B: JRE ( Java Runtime Environment ) C: JVM ( Java Virtual Machine ) D: OS ( Operating System ) 2、下列不是Java语言中的关健字的是: A: public B: Static C:main D:void 3、以下程序中最终输出i 的值是: int i = 999; i--; ++i; System.out.println( i++ ); A: 998 B: 999 C:1000 D:1001

4、那个是合法的byte 类型的数据: A: 128 B: 127 C:-129 D: (int)-130 5、以下b 的值是:byte b = (byte)129; A: -126 B: -127 C:-128 D:-129 6、在JDK 1.7 中,对于switch 语句,switch 后面的( ) 中不可以是哪种类型: A: byte B: char C: short D: int E: String F: 枚举G: float H: double 7、对于以下代码,输出结果是: for( int i = 4 ; i > 0 ; i-- ){ int j = 0 ; do{ j++; if( j == 2 ){ break;

} }while( j < i ); System.out.print( j ); A: 4 3 2 1 B: 1 2 2 2 C: 2 2 2 1 D: 2 2 2 2 8、以下声明数组的方式,哪种是正确的: A: int[ 3 ][ 4 ] array; B: int[ 3 ] [] array; C: char [] array [] ; D: String[][] array; E: Object array[][]; F: Object array[][ 3 ]; 9、下列关于package 和import 语句的描述,正确的是: A: 同一个类中package 可以出现1次或多次 B: 同一个类中import 可以出现1 此或多次 C: 对于同一个类中,import 语句必须出现在该类的第一行(不含注释) D: 同一个类中,package 必须出现在该类的第一行(不含注释)

百一测评——Java经典面试题 带答案

试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试试卷链接:试卷限时:50分 一.单项选择题 每题分值:分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.[单选]下列说法正确的有()

A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A. B. C. D. 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0; do{ --c; a=a-1;

}while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.[单选]下列哪一种叙述是正确的()A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.[单选]下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数D.形式参数不可以是对象 答案:A 9.[单选]下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法

Java经典面试题大全 带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.doczj.com/doc/3313990579.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

相关主题
文本预览
相关文档 最新文档