【JAVA面试小题】

StringBuffer和StringBuilder的区别

StringBuffer 线程安全–>StringBuffer 的所有公开方法都是 (同步)synchronized 修饰的

StringBuilder 线程不安全 —>StringBuilder 没有被synchronized修饰

StringBuffer每次获取toString都会直接使用缓存区的otStringCache构造一个字符串

StringBuilder则需要复制一次字符串数组,之后再构造一个字符串

StringBuffer 是线程安全 的,它的所有公开方法都是同步(synchronized)的,StringBuilder 没有对方法加锁同步的,所以毫无疑问,StringBuilder 的性能要远大于 StringBuffer。

==和equals的区别

==号和 equals 方法的区别:
== 是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是两个对象的内存地址。
equals方法是一个方法,只能比较引用数据类型,所有的对象都会继承Object类中的方法,通过查看object类中的源码可知:如果没有重写object类中的equals方法,equals方法和==号比较引用数据类型无区别。
小结: 默认情况下equals比较的是两个对象的内存地址。但是,这么做是什么多大意义的,所以一般都会重写后的 equals方法;在重写的equals方法中比较的两个对象中的属性(成员变量)。

Collection 和 Collections 区别

Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

集合框架体系

从各种集合形式中提取公共要素,形成了一个集合的解决方案,就是Java的集合框架。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值