同学比较讨厌简答题,但考试不会一直出选择题。所以,平时大家要对重要的知识点的记忆。以下面试题由小编整理,希望可以帮助到大家。 1)嵌套静态类与**类有什么区别? 一个公共的**类的源文件名称与类名相同,而嵌套静态类没有这个要求。一个嵌套类位于**类内部,需要使用**类的名称来引用嵌套静态类,如 HashMap.Entry 是一个嵌套静态类,HashMap 是一个**类,Entry是一个嵌套静态类。 2)你能写出一个正则表达式来判断一个字符串是否是一个数字吗? 一个数字字符串,只能包含数字,如 0 到 9 以及 、- 开头,通过这个信息,你可以下一个如下的正则表达式来判断给定的字符串是不是数字。 3)Java 中,受检查异常 和 不受检查异常的区别? 受检查异常编译器在编译期间检查。对于这种异常,方法强制处理或者通过 throws 子句声明。其中一种情况是 Exception 的子类但不是 RuntimeException 的子类。非受检查是 RuntimeException 的子类,在编译阶段不受编译器的检查。 4)Java 中,throw 和 throws 有什么区别? throw 用于抛出 java.lang.Throwable 类的一个实例化对象,意思是说你可以通过关键字 throw 抛出一个 Error 或者 一个Exception,如:throw new IllegalArgumentException(“size must be multiple of 2″)而throws 的作用是作为方法声明和签名的一部分,方法被抛出相应的异常以便调用者能处理。Java 中,任何未处理的受检查异常强制在 throws 子句中声明。 5)Java 中,Serializable 与 Externalizable 的区别? Serializable 接口是一个序列化 Java 类的接口,以便于它们可以在网络上传输或者可以将它们的状态保存在磁盘上,是 JVM 内嵌的默认序列化方式,成本高、脆弱而且不安全。Externalizable 允许你控制整个序列化过程,指定特定的二进制格式,增加安全机制。 6)Java 中,DOM 和 SAX 解析器有什么不同? DOM 解析器将整个 XML 文档加载到内存来创建一棵 DOM 模型树,这样可以更快的查找节点和修改 XML 结构,而 SAX 解析器是一个基于事件的解析器,不会将整个 XML 文档加载到内存。由于这个原因,DOM 比 SAX 更快,也要求更多的内存,不适合于解析大 XML 文件。 7)说出 JDK 1.7 中的三个新特性? 虽然 JDK 1.7 不像 JDK 5 和 8 一样的大版本,但是,还是有很多新的特性,如 try-with-resource 语句,这样你在使用流或者资源的时候,就不需要手动关闭,Java 会自动关闭。Fork-Join 池某种程度上实现 Java 版的 Map-reduce。允许 Switch 中有 String 变量和文本。菱形操作符( |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|