成功测试
成功测试

您现在的位置: 成功测试简介_成功测试分数 > 成功测试规则 > 独家内部阿里巴巴程序猿面试题及答案

独家内部阿里巴巴程序猿面试题及答案

发布时间:2018-4-23 15:50:44   点击数:

一、String,StringBuffer,StringBuilder的区别是什么?String为什么是不可变的?

答:1、String是字符串常量,StringBuffer和StringBuilder都是字符串变量。后两者的字符内容可变,而前者创建后内容不可变。

2、String不可变是因为在JDK中String类被声明为一个final类。

3、StringBuffer是线程安全的,而StringBuilder是非线程安全的。

ps:线程安全会带来额外的系统开销,所以StringBuilder的效率比StringBuffer高。如果对系统中的线程是否安全很掌握,可用StringBuffer,在线程不安全处加上关键字Synchronize。

二、Vector,ArrayList,LinkedList的区别是什么?

答:1、Vector、ArrayList都是以类似数组的形式存储在内存中,LinkedList则以链表的形式进行存储。

2、List中的元素有序、允许有重复的元素,Set中的元素无序、不允许有重复元素。

3、Vector线程同步,ArrayList、LinkedList线程不同步。

4、LinkedList适合指定位置插入、删除操作,不适合查找;ArrayList、Vector适合查找,不适合指定位置的插入、删除操作。

5、ArrayList在元素填满容器时会自动扩充容器大小的50%,而Vector则是%,因此ArrayList更节省空间。

详见:







































北京治疗白癜风哪家医院便宜
武汉权威的白癜风医院


转载请注明:http://www.81guangchang.com/cggz/8916.html

网站简介 | 发布优势 | 服务条款 | 隐私保护 | 广告合作 | 合作伙伴 | 版权申明 | 网站地图

当前时间: