1:下列哪种情况可以终止当前线程的运行?
优先级高的并不一定会马上执行。
sleep方法会阻塞一个线程并不会终止
创建一个新的线程时也不会终止另一个线程
当抛出一个异常后程序会结束,所以线程也会被终止(对)
2:常见的http错误描述
1xx(临时响应)
表示临时响应并需要请求者继续执行操作的状态代码。
2xx (成功)
表示成功处理了请求的状态代码。
3xx (重定向)
表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
4xx(请求错误)
这些状态代码表示请求可能出错,妨碍了服务器的处理。
5xx(服务器错误)
这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
404 未找到,服务器找不到所请求的网页。
302 临时移动,服务器从不同位置的网页响应请求,请求者应继续使用原有位置进行以后的请求。
500 (服务器内部错误),服务器遇到错误,无法完成请求。
403 (禁止)服务器拒绝请求
3:private的成员变量,根据权限修饰符的访问控制范围,只有在类内部才能被访问,就算是他的子类,也不能访问。
4:哈希表
做出一种寻址容易插入删除也容易的数据结构,这就是哈希表。
4:集合
collection
||继承
list set
ArrayList LinkList HashSet TreeSet
(查询快) (增加删除快)
ArrayList:通过数组实现,一旦实例化无参构造函数默认数组长度为10,如果增加的元素超过了10个那么ArrayList的底层会生成一个新数组,长度为原数组的1.5倍+1,然后原数组的内容复制到当前数组中。
5:ArrayList与Vector
相同点:都实现了List接口(List接口继承了collection接口),他们都是有序集合,相当于一种动态的数组,其中的数据允许重复。
同步性区别:
①,ArrayList是线程不安全的,也就是它的方法之间的线程是不同步的,适合只有一个线程。
②,Vector是线程安全的,适合有多个线程。
数据增长区别:
①,ArrayList与Vector都有一个初始的容量大小,当超过容量大小时会增加多个存储单元,Vector默认为2倍,ArrayList默认为1.5倍。
6:HashMap与HashTable的区别
HashMap是map接口的子接口,其中的键和值都是对象,不可以包含重复键,但可以包含重复值。
HashMap:线程不安全,允许null键和null值,效率高,方法不是Synchronize的要提供外同步。
HashTable:线程安全,不允许null键和null值,效率低,方法是Synchronize的。
7:List,Map,Set三个接口,存取元素时有什么特点?
List(ArrayList LinkList)
(存储):有序,可重复。
(访问):可以for循环,foreach循环,iterator迭代器迭代。
Set(HashSet TreeSet)
(存储):无序,不重复。
(访问):可以foreach循环,iterator迭代器迭代。
Map(HashMap TreeMap)
(存储):无序,键值不可重复的,值可重复。
(访问):可以将map中的key值作为set存储,然后用Iterator迭代。