面试题

1、list、set、map以及array的区别
array:数组,可以储存对象和基本数据类型,长度固定
Collection:集合(单列),用于储存对象,不能存储基本类型,长度可变
List:有序,可重复,长度不固定,继承Collection
ArrayList:数组,有索引,所以查询快;增删后每个元素的索引都会发生变化,所以增删慢,而且数组越长增删越慢
LinkedList:链表,无索引,每个元素都包含下个元素的地址,查询需要逐一进行,所以查找慢,但增删快,只需改变元素后面的地址
Vector:线程同步数组,基本废弃不用
Set:无序,不可重复。无索引,继承Collection
HashSet:哈希表,线程非同步,保证元素唯一性原理;
TreeSet:二叉树,
Map:双列集合,用于放键值对。键是唯一不可重复的。
2、创建一个类的几种方法?
四种,new、反射、克隆(clone)、反序列化(ObjectOutputStream)
3、堆,栈,方法区的区别?
堆:线程共享,保存对象
栈:每个线程独有一个栈,保存基本数据类型和对象引用
栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。
方法区:静态区,线程共享,保存类(加载的.class)和static变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值