文档介绍:朗沃面试汇总
L抽象类与接口的区别?
接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类 是可以有私有方法或私有变量的,
另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择 地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接 口,最后才到具体类实现。
还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多 个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数 据共享(里面的变量全是常量)的作用
线程启动的方式?
继承Thread类或实现Runnable接口
Bean的生命周期?
Bean的完整生命周期从spring容器开始实例化bean开始,到销毁。可以从三点来理解 1、bean自身的方法:包括构造方法、set方法、init-method指定的方法、destroy-method 指定的方法
2>Bean级生命周期接口方法:如BeanNameAware、BeanFactoryAware等这些接口方法由bean 类实现。
3、 容器级生命周期接口方法:上图中带星的。有InstantiationAwareBeanPostProcessor、 BeanPostProcessor等。一般称为后处理器。他们一般不由bean本身实现,独立存在,注册 到spring容器中。Spring通过接口反射预先知道,当spring容器创建任何bean时,这 些后处理器都会发生作用。所以他们是全局的,用户可以通过编码对只感兴趣的bean进行 处理。
和 StringBuffer 的区别:
前者是线程不安全后者是线程安全的
解析xml的方式有哪几种:
DOM, SAX, D0M4J, JD0M
存取数据的方式:
socket 编程
map里面的key是否能重复能不能为null;
HashMap可以使用null作为键和值'TreeMap可以使用null作为值'它们都是不同步的〃 Hashtable不能使用null作为键和值'它是同步的。3
字符串怎样排序
java中的数组排序。
Arrays, sort (^Array) 需力口包 import java. util. *;或 import java. util. Arrays;
hibernate 的 xml 配置?
集合兀素是有序还是无序的?
1 .有序集合:
有序集:List .是一个有序的集合,可以包含重复的元素。提供了按索引访问的方式(集 合里的元素可以根据key或index访问)。这里的有序不是指排序
,而是只每个元素都有自己的位置。凡是实现List的AbstractList,
AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArrayList,
LinkedList, RoleList, RoleUnresolvedList, Stack, Vector 都是有序的
2 .无序集合:集合里的元素只能遍历。凡是实现set的AbstractSet, CopyOnWriteArraySet, EnumSet, HashSet, JobStateReasons, LinkedHashSet,
怎么给集合元素排序?
List可以用集合的排序,实现一个Comparator即可以
map用冒泡法就可以排序了,只不过将值从map中取出来比较而已。
map集合兀素是否是有序的?
HashMap和Hashtable除了同步和空值外,,特别是它不 保证该顺序恒久不变
TreeMap会对key进行自然顺序排序
怎样让一个类不能被继承?
加一个final关键字
接口里能不能定义常量?
接口常量定义可以省很多static final修饰,也可以用 枚举或者枚举类
和 StringBuffer 的区别?
String是一个引用数据类型。基本数据类型定义的变量可以看成一个容器,只不 过只能存单个值。String类型,我们可以看成是一个底层维护的char[]数组的一 个容器。String类型一串有序的字符序列。String类型是用final修饰,是不能继 承的。一旦定义,不能修改。
Stringbuffer线程安全的可变字符序列
因为保存字符内容的char数组变量没有使用final修饰,可以修改,只有当容量不够的 时候,才创建新对象,在大的字符串连接处理的时候,创建比string更少的对象,节约 内存。
Stringbuilder