web.xml中的filter java面试题(5)

电脑杂谈  发布时间:2019-03-27 08:09:04  来源:网络整理

6).哈希值的使用不同,HashTable直接使用对象的hashCode; HashMap重新计算hash值,而且用与代替求模。

16.ArrayList和vector区别

ArrayList和Vector都实现了List接口,都是通过数组实现的。

Vector是线程安全的,而ArrayList是非线程安全的。

realloc开辟的空间如果大于原来的空间,分三种情况:1、原来空间后面的空间够realloc开辟的空间减去原空间的大小,则直接开辟2、原来空间后面的空间不够新的空间,则realloc会在内存池中重新开辟一块空间,返回一个新指针,并将原来空间上的内容保存在新空间3、内存池的空间不够新开辟空间,即内存开辟失败情况,返回null指针。这是一个含有n个元素的数组,其中的每个元素代表一类资源的空闲资源数目,其初始值。1.定义一个数组需要明确数组的变量名,数组元素的类型和数组的大小,一般类型为 类型名 数组名[数组长度].。实现list接口的类主要有三个:linkedlist, arraylist, vector(面试中常有三种的区别)list接口有三个实现类:linkedlist,arraylist,vector linkedlist:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。

17.ArrayList和LinkedList区别及使用场景

区别

ArrayList底层是用数组实现的,可以认为ArrayList是一个可改变大小的数组。随着越来越多的元素被添加到ArrayList中,其规模是动态增加的。

(2)与arraylist相比,在linkedlist中插入、添加和删除一个元素会更快,因为在一个元素被插入到中间的时候,不会涉及改变数组的大小,或更新索引。首先定义一个统一的接口,然后实现一个最基本的底层实现,接着就是装饰者,装饰者同样实现统一的接口,同时持有一个该接口的引用(面向接口编程),装饰者在之前或者之后调用所持有的对象的接口,这样就可以使用装饰者替换掉具体的实现类,完成额外的功能扩展。个硬件平台底层部分都要有一个实现,而底层对上层的接口是统一的,所以上层就不用关心底层到底是怎。解决方法:将类a修改为依赖接口i,类b和类c各自实现接口i,类a通过接口i间接与类b或者类c发生联系,则会大大降低修改类a的几率。

peek(), poll()等方法。

使用场景

LinkedList更适合从中间插入或者删除(链表的特性)。

ArrayList更适合检索和在末尾插入或删除(数组的特性)。

18.Collection和Collections的区别

java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。

java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。

19.Concurrenthashmap实现原理

参见vip课程

20.Error、Exception区别

Error类和Exception类的父类都是throwable类,他们的区别是:

Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-93146-5.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 肖林
      肖林

      “甲午战争”120年后的中国

    • 紫小墨
      紫小墨

      但伊拉克必须要只效忠美国且永远不许对他国抛媚眼示好

    • 杨思敏
      杨思敏

      嗨喽能问你个问题吗

    热点图片
    拼命载入中...