2020春招Java面试题型汇总《1》( 二 )
StringBuffer和StringBuilder都继承AbstractStringBuilder类 , 在AbstractStringBuilder中也是使用字符数组来保存字符串 char[
value , 但是没有用final关键字修饰 , 所以两种对象是可变的 。
线程安全性
String中的对象是不可变的 , 因此也可以理解成线程安全的 。
AbstractStringBuilder 是 StringBuilder 与 StringBuffer 的公共父类 , 定义了一些字符串的基本操作 , 如 expandCapacity、append、insert、indexOf 等公共方法 。 StringBuffer 对方法加了同步锁或者对调用的方法加了同步锁 , 所以是线程安全的 。 StringBuilder 并没有对方法进行加同步锁 , 所以是非线程安全的 。
(引申一道题:i++是线程安全的吗?=============>线程不安全)
性能
每次对String类型进行改变的时候 , 都会生成一个新的String对象 , 然后将指针指向新的String对象 , 这个过程中会重新开辟内存空间 , 对内存空间极大的浪费 。
推荐阅读
- fnc战队|2020年宝马宣布赞助5家LOL顶级战队,S11过后,4家进入重建
- 布隆|欧美再现银河战舰?阿P密谋凑齐2020年LEC最佳阵容?
- 梦幻西游|梦幻西游:新区2020绝对的区霸,10个月亏的钱可打造一个服战号!
- 半条命2|fgo国服圣诞节2020推荐召唤复刻卡池公开 布妹与圣诞阿福再临
- 梦幻西游|梦幻西游:2020区出1?3技能超级鬼将,土豪30万游戏币收首席票!
- 斯泰尔|CF:本以为要等2020春节礼包返厂,没想到斯泰尔-蝴蝶却提前回归了!
- 我的世界|我的世界:Java种子新出炉,内陆蘑菇岛算什么,这些种子它不香?
- 手机游戏|2020年吸金能力前10手游,第一王者荣耀,网易游戏没进前三?
- fate grand order|FGO玛修语音要改吗?永远停在2020年,又要请高桥李依重录?
- |神秘的大西瓜的《峡谷之巅》完结,2020起点十二天王作品已完结五本,你都看过吗?