常见java面试题总结第一期

1.JDK8有哪些新特性。
回答:1.1 Lambda表达式(又称闭包,把函数当作参数传递进方法中),函数式接口(有且仅有一个抽象方法的接口)。
1.2 Stream流 java8新引入的流就允许你以声明式的处理集合中的元素
1.3 HashMap数据结构 hash表=数组+链表+红黑树 新增的红黑树的本质是平衡二叉查找树,他复杂的定义和规则都是为了保证树的平衡性。如果树不保证他的平衡性很显然这就变成一个链表了。为什么用红黑树?红黑树能够以O(log2(N))的时间复杂度进行搜索、插入、删除操作。此外,任何不平衡都会在3次旋转之内解决。这一点是AVL所不具备的。
而且实际应用中,很多语言都实现了红黑树的数据结构。比如 TreeMap, TreeSet(Java )、 STL(C++)等。
1.4函数式接口,函数式接口就是只有一个抽象方法的接口。
每一个该类型的lambda表达式都会被匹配到这个抽象方法。
2.Hashmap和Hashtable的区别。
回答:2.1Hashtable继承自Dictionary,Hashmap继承自AbstractMap,二者都实现了Map接口
2.2Hashtable不允许null key 和null value;
2.3Hashtable是synchoronized;
3.int 和integer的区别。
回答:int是java的八大基本数据类型,integer是int的包装类,因为java是面向对象的,所以基本数据类型和包装类之间转换成为拆箱和装箱。integer有一个final的int字段。
Integer和String一样是不可变的类型,如果append是生成的新的对象,内存地址不一样。
integer是包装类可以和泛型一起用,而int不能。
4.throw和throws的区别。
回答;throw是方法内的抛出异常用的,一次抛出一个。throws是方法声明的时候表明该方法可能产生的所有异常。
5.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值