Java面试通关宝典
1、说说Java中异常的分类:
答:可分为Error和Exception。
从概念角度分析:
Error:是程序无法处理的系统错误,编译器不做检查;
Exception:是程序可以处理的异常,捕获后可能恢复;
从责任角度分析:
Error:属于JVM需要承担的责任;
Exception:有RuntimeException(非受检异常)是程序应该承担的责任;CheckedException(受检异常)可检查异常时Java编译器应该承担的责任
常见的Error和Exception
Error:由Error结尾的异常,例如:NoClassDefFoundError、StackOverflowError、OutOfMemoyError等
Exception:有Exception结尾的异常,例如:NullPropagation、IndexOutOfBoundsException等
2、dubbo一般使用什么注册中心?还有别的选择吗?
答:zookeeper,还可以用redis,数据库,consul,nacos
3、怎么给List排序?
答:①使用Collections.sort 默认正序,可以传第二个参数自定义排序;
②实体类实现Comparable接口;
③实现Comparator接口自定义比较器;
4、常用的Map集合有哪些?
答:HashMap、HashTable、TreeMap、LinkedHashMap、ConcurrentHashMap
5、为什么说spring是一个容器?
答:spring的核心理念就是更方便地管理Java Bean,而被管理的Java Bean缓存在一个Map中,这个Map就可以理解为用来装Java Bean的容器,即IOC容器。
6、说说Java虚拟机的生命周期及体系结构。
答:
生命周期:
一个运行时的Java虚拟机负责运行一个Java程序。当启动一个Java程序时,一个虚拟机实例也就诞生了。当程序关闭退出,这个虚拟机实例也就随之消亡。如果一台计算机同时运行多个Java程序,同时也将产生多个Java虚拟机实例。每个Java程序都运行于它自己的Java虚拟机实例中。