java面试题和答案

时间:2022-11-24 07:12:33 面试技巧 我要投稿

2017java面试题和答案

  Java技术员想要在面试中给面试官留下好印象,那么做好准备很重要,你对2017年的Java面试题有了解了吗?以下是阳光网小编帮你们整理的2017java面试题和答案,一起来学习啦。

2017java面试题和答案

  2017java面试题和答案(一)

  1.Java反射机制的作用?

  解答:Java反射机制的作用是:

  1)在运行时判断任意一个对象所属的类。

  2)在运行时构造任意一个类的对象。

  3)在运行时判断任意一个类所具有的成员变量和方法。

  4)在运行时调用任意一个对象的方法

  2.你是怎么理解java的泛型的?

  解答: 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。

  泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

  泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

  3.JAVA源文件中是否可以包括多个类,有什么限制

  解答:一个java源文件中可以包含多个类,每个源文件中至多有一个public类,如果有的话,那么源文件的名字必须与之相同。如果源文件中没有public类,则源文件用什么名字都可以,但最好还是具有特定的意义,免得自己都不记得里面写的是什么了。

  4.请解释分布式事务管理?

  解答:分布式事务是指事务的.参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。为了实现分布式事务,需要使用下面将介绍的两阶段提交协议。

  阶段一:开始向事务涉及到的全部资源发送提交前信息。此时,事务涉及到的资源还有最后一次机会来异常结束事务。如果任意一个资源决定异常结束事务,则整个事务取消,不会进行资源的更新。否则,事务将正常执行,除非发生灾难性的失败。为了防止会发生灾难性的失败,所有资源的更新都会写入到日志中。这些日志是永久性的,因此,这些日志会幸免遇难并且在失败之后可以重新对所有资源进行更新。

  阶段二:只在阶段一没有异常结束的时候才会发生。此时,所有能被定位和单独控制的资源管理器都将开始执行真正的数据更新。 在分布式事务两阶段提交协议中,有一个主事务管理器负责充当分布式事务协调器的角色。事务协调器负责整个事务并使之与网络中的其他事务管理器协同工作。 为了实现分布式事务,必须使用一种协议在分布式事务的各个参与者之间传递事务上下文信息,IIOP便是这种协议。这就要求不同开发商开发的事务参与者必须支持一种标准协议,才能实现分布式的事务。

  2017java面试题和答案(二)

  1.请用正则表达式匹配出QQ号(假设QQ号码为5—10位);

  解答: ^ \d{5,10}$

  2. String, StringBuffer StringBuilder的区别。

  解答:String的长度是不可变的; StringBuffer的长度是可变的,如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法;线程安全;

  StringBuilder是从 JDK 5 开始,为StringBuffer该类补充了一个单个线程使用的'等价类;通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。

  3.请写出5种常见到的runtime exception。

  解答:

  NullPointerException:当操作一个空引用时会出现此错误。

  NumberFormatException:数据格式转换出现问题时出现此异常。

  ClassCastException:强制类型转换类型不匹配时出现此异常。

  ArrayIndexOutOfBoundsException:数组下标越界,当使用一个不存在的数组下标时出现此异常。

  ArithmeticException:数学运行错误时出现此异常

  4.数组有没有length()这个方法?String有没有length()这个方法?

  解答:数组没有length()方法 它有length属性

  String有length()方法。

  5.请写出一个单例模式。

  解答:单例模式(Singleton pattern):确保一个类只有一个实例,并提供一个全局的访问点public class EagerSingleton { private static final EagerSingleton m_instance = new EagerSingleton(); /** * 私有的默认构造子 */ private EagerSingleton() { } /** * 静态工厂方法 */ public static EagerSingleton getInstance() { return m_instance; } }

  6.在java中,List是个接口,那实现List接口的类有哪些,有什么区别?

  解答: ArrayList是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

  2017java面试题和答案(三)

  1.请写出JavaScript中常用的三种事件。

  解答: onclick,onblur,onChange

  2.JavaScript如何定义数组。

  解答: var arrTest=new Array();

  3.JavaScript能否操作cookie和session?

  解答:JavaScript可以操作cookie,但是不能操作session

  4.char类型能否存储一个中文字符?为什么

  解答:可以。一个char是两个字节,而一个中文也是两个字节。

  5.Switch选择语句能否作用在String【字符串】上,也就是能否这么写:Switch(一个字符串变量)?

  解答:不可以,只能处理int,byte,short,char,(其实是只能处理int,其它三种是可以promotion到int型)不能处理Sring 。

  6.关键字final 分别修饰一个类,一个方法,一个变量,各起什么作用

  解答:final修饰类是不能被继承

  fianl修饰方法不能在子类中被覆盖

  final修饰变量,称为常量,初始化以后不能改变值。

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

  解答:start()。

  8.是否可以继承String类

  解答:不可以。因为String类有final修饰。

【java面试题和答案】相关文章:

java应届生面试题和答案04-04

java基础面试题及答案04-05

高级java面试题及答案04-04

java面试题目及答案04-05

华为java面试题及答案04-06

java高级面试题及答案04-06

java常见面试题及答案04-03

java开发面试题及答案04-04

java实习生面试题及答案04-02