ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java常用类库面试题

2020-08-26 17:00:49  阅读:279  来源: 互联网

标签:类库 面试题 Java RuntimeException Exception 编译器 线程 Error 异常


Java异常体系

异常处理机制主要回答了三个问题

  • What:异常类型回答了什么被抛出
  • Where:异常堆栈跟踪回答了在哪抛出
  • Why:异常信息回答了为什么被抛出

Error和Exception的区别

  • Error:程序无法处理的系统错误,编译器不做检查
  • Exception:程序可以处理的异常,捕获后可能恢复
  • 总结:前者是程序无法处理的错误,后者是可以处理的异常

Exception下的两种异常

  • RuntimeException:不可预知的,程序应当自行避免
  • 非RuntimeException:可预知的,从编译器校验的异常,不处理无法通过编译

从责任角度看:

  • Error属于JVM需要负担的责任
  • RuntimeException是程序应该负担的责任
  • Checked Exception可检查异常是Java编译器应该负担的责任

常见Error以及Exception

  • RuntimeException
    • NullPointerException:空指针引用异常
    • ClassCastException:类型强制转换异常
    • IllegalArgumentException:传递非法参数异常
    • IndexOutOfBoundsException:下标越界异常
    • NumberFormatException:数字格式异常
  • 非RuntimeException
    • ClassNotFoundException:找不到指定class的异常
    • IOException:IO操作异常
  • Error
    • NoClassDefFoundError:找不到class定义的异常
    • StackOverflowError:深递归导致栈被耗尽而抛出的异常
    • OutOfMemoryError:内存溢出异常

Collection体系

集合之List和Set

集合之Map

说明:(n-1)&hash相当于hash%n

HashMap、HashTable、ConccurentHashMap三者的区别

  • HashMap线程不安全,数组+链表+红黑树
  • HashTable线程安全,锁住整个对象(HashTable,效率低),数组+链表
  • ConccurentHashMap线程安全,CAS(没有哈希碰撞时)+同步锁(发生哈希碰撞时,同步锁锁住数组的头节点),数组+链表+红黑树
  • HashMap的key、value均可为null,而其他的两个类key,value均不可为null

J.U.C包的分类

  • 线程执行器executor
  • 锁locks
  • 原子变量类atomic
  • 并发工具类tools
  • 并发集合collections

标签:类库,面试题,Java,RuntimeException,Exception,编译器,线程,Error,异常
来源: https://www.cnblogs.com/shouyaya/p/13566172.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有