(Java面试题精编.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(Java面试题精编

JAVA面试题精编 1. String 和StringBuilder、StringBuffer的区别 String对象是不可变的(immutable),类中每一个修改String值的方法,都是创建了一个全新的String对象。StringBuilder、StringBuffer支持可变的字符串字符串串联是通过 StringBuilder(或 StringBuffer)类及其append方法实现的StringBuilder(或StringBuffer)。 2. Collection 和 Collections的区别。 Collection是集合结构的根接口,继承它的接口主要有Set和List。 Collections是集合类的一个帮助类,提供了一系列的静态方法,实现对各种集合的有哪些信誉好的足球投注网站、排序、同步等操作。 3. Error、Exception、RuntimeException有何异同?列举常见的RuntimeException、Error。 Error、Exception继承自所有异常的超类Throwable,RuntimeException是Exception的一个特殊子类。Error和RuntimeException是未受检异常,在程序中不需要也不应该被捕获。按照惯例,Error被JVM保留用于表示资源不足、约束失败,或其他严重错误;RuntimeException表明编程错误。Exception表示程序运行过程中可能出现的非正常状态,是受检异常。对可恢复的情况应使用受检异常,对编程错误使用RuntimeException。 常见RuntimeException:NullPointerException、IllegalArgumentException 、IllegalStateException 、IndexOutOfBoundsException、UnsupportedOperationException、 NoSuchElementException、ClassCastException、BufferOverflowException。 常见Error:NoClassDefFoundError、UnsatisfiedLinkError、OutOfMemoryError、StackOverflowError、UnknownError。 4. final, finally, finalize的区别。 final用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行时会调用被回收对象的此方法。 5. Overload和Override的区别。Overload的方法是否可以改变返回值的类型? 如果子类中定义的方法与父类有相同的名称、参数和返回类型(自Java 5开始支持协变返回类型),称覆盖(Override)了父类方法,子类的对象使用这个方法时,将调用子类中的定义。 如果在一个类中定义了多个同名的方法,它们有不同的参数个数或参数类型,则称为方法的重载(Overload)。 Overload的方法可以改变返回值的类型,但不能以返回值区分重载方法。 6. (,|)与 (,||)的区别。,|)是位操作符,(,||)是逻辑操作符。 逻辑操作只能布尔,而操作可以布尔型型操作不会产生短路CopyOnWriteArrayList的存储性能和特性。 三者均按照插入顺序保存元素。ArrayList使用数组方式存储数据,随机访问速度快,插入和移除元素较慢。LinkedList使用双向链表实现存储,插入和移除元素快,随机访问较慢,另外LinkedList可用作堆栈、队列或双端队列。CopyOnWriteArrayList是ArrayLis线程安全的变体,其中所有可变操作都是通过对数组进行复制来实现的,只对修改操作加锁,因此修改和读取操作可同时发生。 Vector也是线程安全的List,是Java早期版本的实现,在新程序中不应该使用。Collections类提供了同步的静态方法,可以用来同步不同类型的容器,对修改和读取操作都会进行同步。在没有修改操作或有少量的修改操作时,CopyOnWriteArrayList的速度更快,因此应该尽量使用CopyOnWriteArrayList。 9. HashSet、LinkedHashSet、TreeSet、CopyOnWriteArraySet的区别。 HashSet基于HashMap实现,查找速度最快,元素必须定义hashCode()和equals()方法。 LinkedHashSet继承自HashSet,基于LinkedHashMap实现,按照插入顺序保存对象,具有Hash

文档评论(0)

popo786 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档