黑马程序员技术交流社区

标题: Java基础口述总结62条 含最新面试题(下) [打印本页]

作者: Huyaal    时间: 2016-7-6 19:46
标题: Java基础口述总结62条 含最新面试题(下)
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:构造方法不能递归使用。

60、基本的IO流有哪些?(*面试题)
字节流:InputStream、OutputStream、FileInputStream、FileOutputStream、
字符流:Writer、Reader、FileWriter、FileReader、
高效字节流:BufferedInputStream、BufferedOutputStream
高效字符流:BufferedWriter、BufferedReader
最开始的时候,只有字节流,但是后来由于中文字符或者其他字符的出现,用两个字节才能表示。
如果用字节流也是可以读写字符文件的数据的,但是比较麻烦。为了简化这种操作,就提供了字符流。

61、flush()和close()的区别?(*面试题)
flush():刷新缓冲区,流对象还可以继续使用。
close():释放流资源,但是会先刷新一次缓冲区,操作完毕后,流对象不可以再使用。

62、什么是多线程?进程和线程的区别是什么?
多线程就是应用程序的多条执行路径。
进程:正在运行的应用程序,每个进程的具备独立的运行空间。
线程:是进程的执行单元,执行路径。如果是多个线程,那么,这多个线程共享同一个进程资源。


作者: cliffawesome    时间: 2016-7-6 19:52
好东西,学习一下,
作者: 新手上路    时间: 2016-7-6 21:25
支持一个,但是怎么不完整?
作者: rentianyn    时间: 2016-7-6 21:33
谢谢分享
作者: cb747706401    时间: 2016-7-6 22:00
谢谢分享,但是好难诶




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2