A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 读书少,表骗我 中级黑马   /  2016-5-27 00:30  /  351 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

51、LinkedHashSet底层数据结构是什么?如何保证元素的唯一性的呢?

        底层由链表和哈希表组成。
        由链表保证有序。
        由哈希表保证唯一。



52、什么是可变参数?

针对在写一个方法的时候,不知道具体要有多少个形式参数的时候。
           java提供了可变参数的用法。

注意:
        A:变量其实是该数据类型的一个数组。
        B:形式参数如果有多个的话,可变参数只能是最后一个。
        C:数据类型要一致。



53、Map和Collection集合的区别?(*面试题)
               
        A:Map集合存储的是键值对形式的元素。
          Collection集合存储的是单个的元素。
       
        B:Map集合的键是唯一的。
          Collection的子接口Set集合元素是唯一的。
       
        C:Map集合的值是可以重复的。
          Collection的子接口List集合的元素是可以重复的。
        D:Map集合的数据结构仅对键有效,对值无效.
          Collection的数据结构是针对元素有效的
       


54、Hashtable和HashMap的区别?(面试题)
       
        A:HashMap 线程不安全,效率高。允许null键和null值。
       
        B:Hashtable 线程安全,效率低。不允许null键和null值。


55、Collection和Collections有什么区别?

        Collection:是集合的顶层接口,定义了集合的通用方法。

        Collections:是一个工具类,里面定义了对集合进行操作的一些常见方法。


56、什么是异常?异常有哪几种?各有什么特点?

程序出现了不正常的情况,就是异常。

异常的继承体系结构:
        Throwable
                |--Error 严重的问题,一般我们解决不了。
                |--Exception
                        |--RuntimeException        运行时期异常,这种问题一般要修正代码。
                        |--非RuntimeException        编译时期异常,必须进行处理,否则代码不能够通过。





57、throws和throw的区别? (*面试题)

throws
        位置:在方法()后面,跟的是类名,后面可以跟多个异常类名,并且用逗号隔开
        表示抛出异常,交给调用者去处理
        如果后面根据的是RuntimeException及其子类,那么,该方法可以不用处理。
        如果后面根据的是Exception及其子类,那么,必须要编写代码进行处理,或者调用的时候抛出。
throw
        位置:在方法中,跟的对象名称。后面只能跟一个异常对象
        表示抛出异常,由方法体内语句处理
        如果方法中,有throw抛出RuntimeException及其子类,那么,声明上可以没有throws。
        如果方法中,有throw抛出Exception及其子类,那么,声明上必须有throws。



58、final、finally、finalize的区别?(*面试题)

final:是最终的意思,用于修饰类、变量、和方法。修饰类的时候,类是最终类,不可以被继承。
        修饰变量的时候,变量为常量,不可以被改变。修饰方法的时候,方法不能被重写。

finally:是异常处理的一部分,它里面的代码永远会执行(前提:jvm没退出),一般用于释放资源。

finalize:是object类的一个方法,用于垃圾处理。




59、什么是递归?使用递归需要注意哪些?

递归就是方法定义中调用方法本身的现象。

        A:递归一定要有出口,否则就是死递归。
        B:递归的次数不能太多,否则内存溢出。
        C:构造方法不能递归使用。


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马