javase.pdf

2-
string池


4-
string、stringbuilder、stringbuffer
常量字符数组 线程安全 性能 并发


5-
异常的根类 throwable -普通类 -可以new
javase.pdf
一般
严重错误 :Error (处理机制同运行时异常) 比如说内存溢出。

不太严重 :Exception

希望必须明确处理 :编译时异常
----抛出时(throw),必须明确声明异常(throws),上一级必须捕获 或者 显示的声明/抛出(throws)

可以处理也可以不处理 :运行时异常
-----抛出时(throw),不用throws声明;上一级可以选择捕获或者不捕获;不捕获则默认接着往上抛,抛到虚拟机时则打印异常,终止线程


7-
ArrayList,Vector, LinkedList 的存储性能和特性

线程不安全 ArrayList, LinkedList
线程安全 vector ----有锁,存储性能相对较差 底层也是动态数组(即可扩容)

ArrayList 数组 方便查询 不方便增/删 有下标
LinkedList 链表 方便增/删 不方便查询 有引用指向下一个元素 ;头尾查询方便


11-
HashMap 和 Hashtable 的区别 ; 桶问题 装载因子问题 ;读写锁

HashMap 没有锁-线程不同步-不安全、性能好
Hashtable 加锁-线程同步-安全、性能差 —已废弃,一般用concurrenthashmap

concurrenthashmap 线程安全 hashmap的子类 只锁操作的key所在的桶 底层是读写锁,提高并发读
Hashtable 锁整张表(key:value)


12-
final, finally, finalize 的区别。

final 访问修饰符 修饰属性、方法、类 表示属性不可变、方法不可覆盖(重写)、类不可继承
finalize object类的finalize()方法 垃圾回收器执行时调用此方法,可覆盖


13-
leep() 和 wait() 有什么区别? 线程状态图

sleep() 计时等待,到时自动唤醒 与锁无关 不释放锁
wait() 不计时,需要手都唤醒 释放锁


16-
同步和异步有何异同 阻塞 和 非阻塞

上一篇:STL之unordered_map


下一篇:最新java map集合面试题