...
HashMap、HashTable的区别:
常见的几种不同:
(1)HashMap不是线性安全的,效率更高一些,HashTable是线性安全的,HashTable的方法是同步的,而HashMap中的方法在缺省的情况下是非同步的,在多线程并发的环境下,可以直接使用HashTable,但是HashMap需要外步同步。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。
(2)HashMap是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而HashTable不允许。
(3)哈希值的使用不同:HashMap重新计算hash值,HashTable直接使用对象的hashcode值。
String、StringBuffer、StringBuilder区别:
String字符串常量,适用于少量字符串操作;
StringBuffer字符串变量(线性安全),适用于单线程下在字符缓冲区进行大量操作情况;
StringBuilder字符串变量(非线性安全),适用于多线性在字符缓冲区进行大量操作的情况;
执行速度比较StringBuilder > StringBuffer > String
抽象类和接口有什么区别