java基础面试题2

题1:== 和equals的区别?
java中的变量分为基本变量和引用变量;
双等号在比较基本变量时,比较的是值是否相等; 例如 :int a=1;int b=2;
双等号在比较引用变量时;比较的两个对象的引用内存地址是否相同;例如 :如果两个对象相等,他们的对象指向的是同一块内存地址;
那么equals() 比较的什么呢?
是String 类型的一个方法,主要用来比较字符串的值是否相同,举例就是两个人是不是同一个人,在这里我们比较的仅仅是名字是否相同;
题2:String StringBuilder String Buffer的区别?
答: 1. String 类型是不可变字符串,因为底层是一个不可变字符数组,final字符数组 ,StringBuilder StringBuffer 是可变的字符串, 底层是可变的字符数组,具体可查看源码,ctrl+t ;
2. 拼接字符串: String 没法拼接 虽然有concat方法 但String类型所有的方法都不是操作的本身,例如 String i = i+“b”; 每次 都会产生一个新的变量产生;
StringBuilder StringBuffer 都有append方法,可以拼接字符串;
3.StringBuilder String Buffer 的区别:
StringBuilder 线程不安全,自然线程速度快; 源码中没有加锁
StringBuffer 线程安全;线程速度慢,有加锁,线程安不安全就体现,同一时间是否只有一个线程执行。例如抢火车票,如果不安全,就会造成,顾客收到的结果买到票,实际后台已经没票了,同一时间多个线程在执行;
题3:java中的集合?
分为两大类 value 和 key-value (键值对) 也就是 collections 和map 两种 ;
value: list 和set
key-value:map;
说一下 list ,set ,map 的区别:
list:有序,内容可重复 ;
set: 无序,内容不可重复;
map: 不可重复,无序;

继续坚持,每天更新所学到的知识,进行总结!!!!加油

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值