欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 教程文档 > java > Java面试题[PDF][2.00MB]

Java面试题[PDF][2.00MB]

2020-03-21 440 收藏 0 赞一个 0 真差劲 0 去评论 去下载

内容简介

1、面向对象的特征有哪些方面?

答:面向对象的特征主要有以下几个方面:

抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。

继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段(如果不能理解请阅读阎宏博士的《Java与模式》或《设计模式精解》中关于桥梁模式的部分)。

封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口(可以想想普通洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简单;我们现在使用的智能手机也是封装得足够好的,因为几个按键就搞定了所有的事情)。

多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但一切对A系统来说都是透明的(就像电动剃须刀是A系统,它的供电系统是B系统,B系统可以使用电池供电或者用交流电,甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力)。方法重载(overload)实现的是编译时的

多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。运行时的多

态是面向对象最精髓的东西,要实现多态需要做两件事:1). 方法重写(子类继承父类并重写父类中已有的或抽象的方法);2). 对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。

目录

Java面试题全集

1、面向对象的特征有哪些方面?

2、访问修饰符public,private,protected,以及不写(默认)时的区别?

3、String 是最基本的数据类型吗?

4、float f=3.4;是否正确?

5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

6、Java有没有goto?

7、int和Integer有什么区别?

8、&和&&的区别?

9、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。

10、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

11、switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?

12、用最有效率的方法计算2乘以8?

13、数组有没有length()方法?String有没有length()方法?

14、在Java中,如何跳出当前的多重嵌套循环?

15、构造器(constructor)是否可被重写(override)?

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

17、是否可以继承String类?

18、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到

底是值传递还是引用传递?

19、String和StringBuilder、StringBuffer的区别?

20、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

21、描述一下JVM加载class文件的原理机制?

22、char 型变量中能不能存贮一个中文汉字,为什么?

23、抽象类(abstract class)和接口(interface)有什么异同?

24、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?

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

26、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被

synchronized修饰?

27、阐述静态变量和实例变量的区别。

28、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?

29、如何实现对象克隆?

30、GC是什么?为什么要有GC?

31、String s = new String(“xyz”);创建了几个字符串对象?

32、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类

(concrete class)?

33、一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?

34、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?

35、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?

36、Java 中的final关键字有哪些用法?

38、数据类型之间的转换:

39、如何实现字符串的反转及替换?

41、日期和时间:

43、比较一下Java和JavaSciprt。

44、什么时候用断言(assert)?

45、Error和Exception有什么区别?

46、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前

还是后?

47、Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?

48、运行时异常与受检异常有何异同?

49、列出一些你常见的运行时异常?

50、阐述final、finally、finalize的区别。

51、类ExampleA继承Exception,类ExampleB继承ExampleA。

52、List、Set、Map是否继承自Collection接口?

53、阐述ArrayList、Vector、LinkedList的存储性能和特性。

54、Collection和Collections的区别?

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

56、TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?

57、Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?

58、线程的sleep()方法和yield()方法有什么区别?

59、当一个线程进入一个对象的synchronized方法A之后,其它线程是否可进入此对象的synchronized方法B?

60、请说出与线程同步以及线程调度相关的方法。

61、编写多线程程序有几种实现方式?

62、synchronized关键字的用法?

63、举例说明同步和异步。

64、启动一个线程是调用run()还是start()方法?

65、什么是线程池(thread pool)?

66、线程的基本状态以及状态之间的关系?

67、简述synchronized 和java.util.concurrent.locks.Lock的异同?

68、Java中如何实现序列化,有什么意义?

69、Java中有几种类型的流?

70、写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。

71、如何用Java代码列出一个目录下所有的文件?

72、用Java的套接字编程实现一个多线程的回显(echo)服务器。

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

74、你在项目中哪些地方用到了XML?

75、阐述JDBC操作数据库的步骤。

76、Statement和PreparedStatement有什么区别?哪个性能更好?

77、使用JDBC操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?

78、在进行数据库编程时,连接池有什么作用?

79、什么是DAO模式?

80、事务的ACID是指什么?

81、JDBC中如何进行事务处理?

82、JDBC能否处理Blob和Clob?

83、简述正则表达式及其用途。

84、Java中是如何支持正则表达式操作的?

85、获得一个类的类对象有哪些方式?

86、如何通过反射创建对象?

87、如何通过反射获取和设置对象私有字段的值?

88、如何通过反射调用对象的方法?

89、简述一下面向对象的”六原则一法则”。

90、简述一下你了解的设计模式。

91、用Java写一个单例类。

92、什么是UML?

93、UML中有哪些常用的图?

94、用Java写一个冒泡排序。

95、用Java写一个折半查找。

96 说一下你对约定优于配置(CoC)的理解。

Servlet 和 JSP

97、说出Servlet的生命周期,并说出Servlet和CGI的区别?

98、转发(forward)和重定向(redirect)的区别?

99、JSP有哪些内置对象?作用分别是什么?

100、get和post请求的区别?

101、常用的Web容器

102、JSP 和Servlet 有有什么关系?

103、JSP中的四种作用域?

104、实现会话跟踪的技术有哪些?

105、过滤器有哪些作用和用法?

106 表达式语言(EL)的隐式对象及其作用?

框架

107、谈一下拦截器和过滤器的区别。

108 谈一下你的项目选择Struts 2的理由

109 Struts 2中如何访问HttpServletRequest、HttpSession和ServletContext三个域对象

110 Struts 2中的默认包struts-default有什么作用?

111 简述Struts 2是如何实现MVC架构模式的。

112、简述值栈(Value-Stack)的原理和生命周期

113、SessionFactory是线程安全的吗?Session是线程安全的吗,两个线程能够共享同一个Session吗?

114、Hibernate 中 ,Session的load和get方法的区别是什么?

115、 Hibernate 中 Session的save()、update()、merge()、lock()、saveOrUpdate()和persist()方法有什么区别?

116、阐述Hibernate 中 Session加载实体对象的过程。

117、Query接口的list方法和iterate方法有什么区别?

118、Hibernate如何实现分页查询?

119、锁机制有什么用?简述Hibernate的悲观锁和乐观锁机制。

120、阐述实体对象的三种状态以及转换关系。

121、如何理解Hibernate的延迟加载机制。在实际应用中,延迟加载与session关闭的矛盾是如何处理的?

122、举一个多对多关联的例子,并说明如何实现多对多关联映射。

123、谈一下你对继承映射的理解。

124、简述Hibernate常见优化策略。

125、谈一谈Hibernate的一级缓存、二级缓存和查询缓存。

126、什么是ORM?

127、持久层设计要考虑的问题有哪些?你用过的持久层框架有哪些?

128 Hibernate中DetachedCriteria类是做什么的?

129 @OneToMany注解的mappedBy属性有什么作用?

130 MyBatis中使用#和$书写占位符有什么区别?

131 解释一下MyBatis中命名空间(namespace)的作用。

132 MyBatis中的动态SQL是什么意思?

133 什么是IoC和DI?DI是如何实现的?

134 Spring中Bean的作用域有哪些?

135 解释一下什么叫AOP(面向切面编程)?

136 你是如何理解”横切关注”这个概念的?

137 你如何理解AOP中的连接点(Joinpoint)、切点(Pointcut)、增强(Advice)、引介(Introduction)、织入

(Weaving)、切面(Aspect)这些概念?

138 Spring中自动装配的方式有哪些?

139 Spring中如何使用注解来配置Bean?有哪些相关的注解?

140 Spring支持的事务管理类型有哪些?你在项目中使用哪种方式?

141 如何在Web项目中配置Spring的IoC容器?

142 如何在Web项目中配置Spring MVC?

143 Spring MVC的工作原理是怎样的?

144 如何在Spring IoC容器中配置数据源?

145 如何配置配置事务增强?

146 选择使用Spring框架的原因(Spring框架为企业级开发带来的好处有哪些)?

147 Spring IoC容器配置Bean的方式?

148 阐述Spring框架中Bean的生命周期?

149 依赖注入时如何注入集合属性?

修饰符 当前类 同 包 子 类 其他包

public √ √ √ √

protected √ √ √ ×

default √ √ × ×

private √ × × ×

150 Spring中的自动装配有哪些限制?

151 在Web项目中如何获得Spring的IoC

152 大型网站在架构上应当考虑哪些问题?

153 你用过的网站前端优化的技术有哪些?

154 你使用过的应用服务器优化技术有哪些?

155 什么是XSS攻击?什么是SQL注入攻击?什么是CSRF攻击?

156 什么是领域模型(domain model)?贫血模型(anaemic domain model)和充血模型(rich domain model)有什么区

别?

157 谈一谈测试驱动开发(TDD)的好处以及你的理解。

文档截图

QQ截图20200321111347.jpg

暂无界面图片

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

下载地址
大家评论